home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 18 / AMIGAplus Sonderheft 18 (1999)(ICP)(DE)[!].iso / PD / Anwendungen / AmiTRS80 / SRC / Z80.asm < prev    next >
Assembly Source File  |  1999-01-03  |  207KB  |  14,299 lines

  1.  
  2.     MACHINE 68020
  3.  
  4.     SECTION    Z80,CODE
  5.  
  6.     XDEF    _JUMPTBL
  7.     XDEF    _START00
  8.     XDEF    _RESET00
  9.     XDEF    _PAUSE00
  10.     XREF    _SIGMASK
  11.     XREF    _PROGCOUNT
  12.     XREF    _CINST
  13.     XREF    _READY
  14.     XREF    _TRACE
  15.     XREF    _CASSPTR
  16.     XREF    _CHL
  17.     XREF    _CBC
  18.     XREF    _CDE
  19.     XREF    _CIX
  20.     XREF    _CIY
  21.     XREF    _CAF
  22.     XREF    _CSP
  23.     XREF    _rom
  24.     XREF    _scrn
  25.     XREF    _chars
  26.     XDEF    _screenwrite
  27.  
  28. DEEBUG    EQU    0    ; MAKE 0 TO DISABLE DEBUG CODE
  29.  
  30. *    A0 = amiga address of Z80 $0000
  31. *    A1 = ACTUAL ADDRESS THAT IX POINTS TO
  32. *    A2 = amiga address of current Z80 PC (not the actual Z80 PC)
  33. *    A3 = base address of instruction vector table
  34. *    A4 = AMIGA address of SP
  35. *    A5 = ACTUAL ADDRESS THAT IY POINTS AT
  36. *    A6 = BASE ADDRESS OF LOOKUP TABLES FOR FLAGS,H FLAG,PARITY.
  37.  
  38.  
  39. *    D1.W = current opcode + following single byte operand
  40. *    (ALSO AVAILABLE FOR TEMPORARY USE WITHIN AN EMULATED INSTRUCTION) 
  41. *    D0.B = current A  value
  42. *    D2.W = current HL value
  43. *    D3.W = current BC value
  44. * top     D3.W = CURRENT DE value
  45. *    D4   = FLAGS (680X0 FLAGS NOT Z-80)
  46. *    D5   = FLAGS H AND N FROM Z-80
  47. *    D7.L = TEMPORARY WORK REGISTER
  48. *    D6.L = TEMPORARY WORK REGISTER 2
  49.  
  50.  
  51. *    Z80 flags :    7    6    5    4    3    2    1    0
  52.  
  53. *            S    Z    -    H    -    P/V    N    C
  54.  
  55.  
  56. *    680x0 flags    -    -    -    X    S    Z    V    C
  57.  
  58.  
  59.  
  60. _START00:    MOVEM.L    D0-D7/A0-A6,-(SP)
  61.     MOVEA.L    (4).W,A6
  62.     MOVE.B    #$FF,D0
  63.     JSR    (-$14A,A6)
  64.     MOVEQ    #0,D1
  65.     BSET    D0,D1
  66.     MOVE.L    D1,_SIGMASK    ; SAVE IN _SIGMASK IN MAIN PROG
  67.     BSR.W    RESTRT
  68.     MOVEA.L    _JUMPTBL,A3
  69.     ADDA.L    #$20000,A3
  70.     MOVEA.L    #_rom,A2
  71.     MOVEA.L    #_rom,A0
  72.     MOVEA.L    #PARITY,A6
  73.     MOVEA.L    A0,A4
  74.     MOVEA.L    A0,A1
  75.     MOVEA.L    A0,A5
  76.     MOVE.W    (A2)+,D1
  77.     IF    DEEBUG
  78.     BRA    DEBUG
  79.     ELSE
  80.     JMP    ([A3,D1.W*4])
  81.     ENDIF
  82.  
  83. NMI:
  84.     BSR.B    RESTRT
  85.     MOVEA.L    _JUMPTBL,A3
  86.     ADDA.L    #$20000,A3
  87.     MOVEA.L    #_rom,A2
  88.     MOVEA.L    #_rom,A0
  89.     MOVEA.L    #PARITY,A6
  90.     MOVEA.L    A0,A4
  91.     MOVEA.L    A0,A1
  92.     MOVEA.L    A0,A5
  93.     LEA    ($66,A2),A2
  94.     MOVE.W    (A2)+,D1
  95.     IF    DEEBUG
  96.     BRA    DEBUG
  97.     ELSE
  98.     JMP    ([A3,D1.W*4])
  99.     ENDIF
  100.  
  101. PAUSE:
  102.     MOVEM.L    D0-D7/A0-A6,-(SP)
  103.     SUBQ.L    #2,A2
  104.     SUBA.L    A0,A2
  105.     MOVE.W    A2,_PROGCOUNT
  106.     BSR.B    RESTRT
  107.     MOVEA.L    (4).W,A6
  108.     MOVE.L    _SIGMASK,D0
  109.     JSR    (-$13E,A6)
  110.     MOVEM.L    (SP)+,D0-D7/A0-A6
  111.     MOVEQ    #0,D7
  112.     MOVE.W    _PROGCOUNT,D7
  113.     MOVEA.L    A0,A2
  114.     ADDA.L    D7,A2
  115.     MOVE.W    (A2)+,D1
  116.     JMP    ([A3,D1.W*4])
  117.  
  118. DEBUG:    MOVEM.L    D0-D7/A0-A6,-(SP)
  119.     SUBQ.L    #2,A2
  120.     MOVE.L    (A2),_CINST
  121.     SUBA.L    A0,A2
  122.     MOVE.W    A2,_PROGCOUNT
  123.     MOVE.W    D2,_CHL
  124.     MOVE.W    D3,_CBC
  125.     SWAP    D3
  126.     MOVE.W    D3,_CDE
  127.     SWAP    D3
  128.     SUBA.L    A0,A1
  129.     MOVE.W    A1,_CIX
  130.     SUBA.L    A0,A4
  131.     MOVE.W    A4,_CSP
  132.     SUBA.L    A0,A5
  133.     MOVE.W    A5,_CIY
  134.     ANDI.W    #$1F,D4
  135.     MOVE.B    ($200,A6,D4.W),D7
  136.     OR.B    D5,D7
  137.     ROL.W    #8,D7
  138.     MOVE.B    D0,D7
  139.     ROL.W    #8,D7
  140.     MOVE.W    D7,_CAF
  141.     MOVEQ    #1,D7
  142.     MOVE.W    D7,_READY
  143.     MOVE.W    _TRACE,D7
  144.     BEQ.B    .L1
  145.     MOVEA.L    (4).W,A6
  146.     MOVE.L    _SIGMASK,D0
  147.     JSR    (-$13E,A6)
  148. .L1:    MOVEM.L    (SP)+,D0-D7/A0-A6
  149.     JMP    ([A3,D1.W*4])
  150.  
  151.  
  152. RESTRT:
  153.     MOVEA.L    (4).W,A6
  154.     JSR    (-$84,A6)
  155.     MOVEA.L    #MNTBL,A0
  156.     MOVEA.L    _JUMPTBL,A1
  157.     MOVE.W    #$FF,D1
  158. .L1:    MOVE.W    #$FF,D0
  159.     MOVEA.L    (A0)+,A5
  160. .L2:    MOVE.L    A5,(A1)+
  161.     DBRA    D0,.L2
  162.     DBRA    D1,.L1
  163.  
  164.     MOVEA.L    #CBTABLE,A0
  165.     MOVEA.L    _JUMPTBL,A1
  166.     ADDA.L    #$12C00,A1
  167.     MOVE.W    #$FF,D1
  168. .L4:    MOVE.L    (A0)+,(A1)+
  169.     DBRA    D1,.L4
  170.  
  171.     MOVEA.L    #DDTABLE,A0
  172.     MOVEA.L    _JUMPTBL,A1
  173.     ADDA.L    #$17400,A1
  174.     MOVE.W    #$FF,D1
  175. .L5:    MOVE.L    (A0)+,(A1)+
  176.     DBRA    D1,.L5
  177.  
  178.     MOVEA.L    #FDTABLE,A0
  179.     MOVEA.L    _JUMPTBL,A1
  180.     ADDA.L    #$1F400,A1
  181.     MOVE.W    #$FF,D1
  182. .L6:    MOVE.L    (A0)+,(A1)+
  183.     DBRA    D1,.L6
  184.  
  185.     MOVEA.L    #EDTABLE,A0
  186.     MOVEA.L    _JUMPTBL,A1
  187.     ADDA.L    #$1B400,A1
  188.     MOVE.W    #$FF,D1
  189. .L7:    MOVE.L    (A0)+,(A1)+
  190.     DBRA    D1,.L7
  191.     MOVEA.L    (4).W,A6
  192.     JSR    (-$8A,A6)
  193.     RTS
  194.  
  195. _RESET00:    ; RESETS THE Z-80 TO 0000 AFTER THE CURRENT INSTRUCTION
  196.  
  197.     MOVEM.L    A0-A6/D0-D7,-(SP)    
  198.     MOVE.L    4,A6
  199.     JSR    -$0084(A6)    ; Forbid()
  200.     MOVE.L    _JUMPTBL,A1
  201.     MOVE.W    #$00FF,D1
  202. .L1:    MOVE.W    #$00FF,D0
  203.     MOVE.L    #NMI,A5
  204. .L2:    MOVE.L    A5,(A1)+
  205.     DBRA    D0,.L2
  206.     DBRA    D1,.L1
  207.     MOVE.L    4,A6
  208.     JSR    -$008A(A6)    ; Permit()
  209.     MOVEM.L    (SP)+,A0-A6/D0-D7
  210.     RTS    
  211.  
  212. _PAUSE00:    ; PAUSES THE Z80 AFTER THE CURRENT INSTRUCTION (CALLED FROM MAIN PROCESS)
  213.  
  214.     MOVEM.L    D0-D7/A0-A6,-(SP)
  215.     MOVEA.L    (4).W,A6
  216.     JSR    (-$84,A6)
  217.     MOVEA.L    _JUMPTBL,A1
  218.     MOVE.W    #$FF,D1
  219. .L1:    MOVE.W    #$FF,D0
  220.     MOVEA.L    #PAUSE,A5
  221. .L2:    MOVE.L    A5,(A1)+
  222.     DBRA    D0,.L2
  223.     DBRA    D1,.L1
  224.     MOVEA.L    (4).W,A6
  225.     JSR    (-$8A,A6)
  226.     MOVEM.L    (SP)+,D0-D7/A0-A6
  227.     RTS
  228.  
  229. _screenwrite:
  230.  
  231. *    ON ENTRY D1.W    HOLDS #$XXXX (3C00-3FFF)
  232. *         D6.B    HOLDS ASCII CHAR 00-FF
  233.  
  234.     MOVEM.L    D1/D2/A0/A2,-(SP)
  235.  
  236.     ANDI.W    #$3FF,D1
  237.     LEA    _scrn,A0
  238.     MOVEA.L    (A0,D1.L*4),A0
  239.     MOVEQ    #0,D1
  240.     MOVE.B    D6,D1
  241.     EXT.L    D1
  242.     MOVE.L    D1,D2
  243.     ASL.L    #3,D2
  244.     ADD.L    D1,D2
  245.     LEA    _chars,A2
  246.     ADDA.L    D2,A2
  247.     MOVE.W    #$40,D2
  248.     MOVE.B    (A2)+,(A0)
  249.     ADD.W    D2,A0                  
  250.     MOVE.B    (A2)+,(A0)
  251.     ADD.W    D2,A0                  
  252.     MOVE.B    (A2)+,(A0)
  253.     ADD.W    D2,A0                  
  254.     MOVE.B    (A2)+,(A0)
  255.     ADD.W    D2,A0                  
  256.     MOVE.B    (A2)+,(A0)
  257.     ADD.W    D2,A0                  
  258.     MOVE.B    (A2)+,(A0)
  259.     ADD.W    D2,A0                  
  260.     MOVE.B    (A2)+,(A0)
  261.     ADD.W    D2,A0                  
  262.     MOVE.B    (A2)+,(A0)
  263.     ADD.W    D2,A0                  
  264.     MOVE.B    (A2)+,(A0)
  265.  
  266.     MOVEM.L    (SP)+,D1/D2/A0/A2
  267.     RTS
  268.  
  269. ILLEGAL:
  270.     MOVEM.L    (SP)+,D0-D7/A0-A6
  271.     RTS
  272.  
  273. MAIN00:    SUBQ.L    #1,A2        ; NOP
  274.     MOVE.W    (A2)+,D1
  275.     IF    DEEBUG
  276.     BRA    DEBUG
  277.     ELSE
  278.     JMP    ([A3,D1.W*4])
  279.     ENDIF
  280.  
  281. MAIN01:    ROL.W    #8,D1        ; LD BC,XXXX
  282.     MOVE.B    (A2)+,D1
  283.     ROL.W    #8,D1
  284.     MOVE.W    D1,D3
  285.     MOVE.W    (A2)+,D1
  286.     IF    DEEBUG
  287.     BRA    DEBUG
  288.     ELSE
  289.     JMP    ([A3,D1.W*4])
  290.     ENDIF
  291.  
  292. MAIN02:    MOVEQ    #0,D1        ; LD (BC),A
  293.     MOVE.W    D3,D1
  294.     CMPI.W    #$4000,D1
  295.     BCS.B    .L1
  296.     MOVE.B    D0,(A0,D1.L)
  297.     SUBQ.L    #1,A2
  298.     MOVE.W    (A2)+,D1
  299.     IF    DEEBUG
  300.     BRA    DEBUG
  301.     ELSE
  302.     JMP    ([A3,D1.W*4])
  303.     ENDIF
  304.  
  305. .L1    CMPI.W    #$3BFF,D1
  306.     BHI.B    .L2
  307.     SUBQ.L    #1,A2
  308.     MOVE.W    (A2)+,D1
  309.     IF    DEEBUG
  310.     BRA    DEBUG
  311.     ELSE
  312.     JMP    ([A3,D1.W*4])
  313.     ENDIF
  314.  
  315. .L2    MOVE.B    D0,D6
  316.     MOVE.B    D0,(A0,D1.L)
  317.     BSR.W    _screenwrite
  318.     SUBQ.L    #1,A2
  319.     MOVE.W    (A2)+,D1
  320.     IF    DEEBUG
  321.     BRA    DEBUG
  322.     ELSE
  323.     JMP    ([A3,D1.W*4])
  324.     ENDIF
  325.  
  326. MAIN03:                ; INC BC
  327.     ADDQ.W    #1,D3
  328.     SUBQ.L    #1,A2
  329.     MOVE.W    (A2)+,D1
  330.     IF    DEEBUG
  331.     BRA    DEBUG
  332.     ELSE
  333.     JMP    ([A3,D1.W*4])
  334.     ENDIF
  335.  
  336. MAIN04:                ; INC B
  337.     MOVE.B    D4,D6
  338.     ROL.W    #8,D3
  339.     MOVE.W    D4,CCR
  340.     ADDQ.B    #1,D3
  341.     MOVE.W    CCR,D4
  342.     ANDI.W    #$EE,D4
  343.     ANDI.W    #$11,D6
  344.     OR.B    D6,D4
  345.     MOVE.B    D3,D7
  346.     ROL.W    #8,D3
  347.     ANDI.W    #$FF,D7
  348.     MOVE.B    ($220,A6,D7.W),D5
  349.     SUBQ.L    #1,A2
  350.     MOVE.W    (A2)+,D1
  351.     IF    DEEBUG
  352.     BRA    DEBUG
  353.     ELSE
  354.     JMP    ([A3,D1.W*4])
  355.     ENDIF
  356.  
  357. MAIN05:                ; DEC B
  358.     MOVE.W    D4,D6
  359.     ROL.W    #8,D3
  360.     MOVE.W    D4,CCR
  361.     SUBQ.B    #1,D3
  362.     MOVE.W    CCR,D4
  363.     ANDI.W    #$EE,D4
  364.     ANDI.W    #$11,D6
  365.     OR.B    D6,D4
  366.     MOVE.B    D3,D7
  367.     ROL.W    #8,D3
  368.     ANDI.W    #$FF,D7
  369.     MOVE.B    ($320,A6,D7.W),D5
  370.     SUBQ.L    #1,A2
  371.     MOVE.W    (A2)+,D1
  372.     IF    DEEBUG
  373.     BRA    DEBUG
  374.     ELSE
  375.     JMP    ([A3,D1.W*4])
  376.     ENDIF
  377.  
  378. MAIN06:                ; LD B,X
  379.     ROL.W    #8,D3
  380.     MOVE.B    D1,D3
  381.     ROL.W    #8,D3
  382.     MOVE.W    (A2)+,D1
  383.     IF    DEEBUG
  384.     BRA    DEBUG
  385.     ELSE
  386.     JMP    ([A3,D1.W*4])
  387.     ENDIF
  388.  
  389. MAIN07:                ; RLCA
  390.     ROL.B    #1,D0
  391.     SCS    D7
  392.     ANDI.W    #$EE,D4
  393.     ANDI.W    #$11,D7
  394.     OR.B    D7,D4
  395.     MOVEQ    #0,D5
  396.     SUBQ.L    #1,A2
  397.     MOVE.W    (A2)+,D1
  398.     IF    DEEBUG
  399.     BRA    DEBUG
  400.     ELSE
  401.     JMP    ([A3,D1.W*4])
  402.     ENDIF
  403.  
  404. MAIN08:                ; EX AF,AF'
  405.     MOVE.W    D0,REGA
  406.     MOVE.W    D4,FLAGS
  407.     MOVE.W    D5,XFLAGS
  408.     MOVE.W    AREGA,D0
  409.     MOVE.W    AFLAGS,D4
  410.     MOVE.W    XAFLAGS,D5
  411.     MOVE.W    REGA,AREGA
  412.     MOVE.W    FLAGS,AFLAGS
  413.     MOVE.W    XFLAGS,XAFLAGS
  414.     SUBQ.L    #1,A2
  415.     MOVE.W    (A2)+,D1
  416.     IF    DEEBUG
  417.     BRA    DEBUG
  418.     ELSE
  419.     JMP    ([A3,D1.W*4])
  420.     ENDIF
  421.  
  422. MAIN09:                ; ADD HL,BC
  423.     ANDI.B    #$EE,D4        ; MASK X,C
  424.     ADD.W    D3,D2
  425.     SCS.B    D7
  426.     ANDI.B    #$11,D7
  427.     OR.B    D7,D4
  428.     MOVEQ    #0,D5        ; SET H=0 N=0
  429.     SUBQ.L    #1,A2
  430.     MOVE.W    (A2)+,D1
  431.     IF    DEEBUG
  432.     BRA    DEBUG
  433.     ELSE
  434.     JMP    ([A3,D1.W*4])
  435.     ENDIF
  436.  
  437. MAIN0A:                ; LD A,(BC)
  438.     MOVEQ    #0,D1
  439.     MOVE.W    D3,D1
  440.     MOVE.B    (A0,D1.L),D0
  441.     SUBQ.L    #1,A2
  442.     MOVE.W    (A2)+,D1
  443.     IF    DEEBUG
  444.     BRA    DEBUG
  445.     ELSE
  446.     JMP    ([A3,D1.W*4])
  447.     ENDIF
  448.  
  449. MAIN0B:                ; DEC BC
  450.     SUBQ.W    #1,D3
  451.     SUBQ.L    #1,A2
  452.     MOVE.W    (A2)+,D1
  453.     IF    DEEBUG
  454.     BRA    DEBUG
  455.     ELSE
  456.     JMP    ([A3,D1.W*4])
  457.     ENDIF
  458.  
  459. MAIN0C:                ; INC C
  460.     MOVE.W    D4,D6
  461.     MOVE.W    D4,CCR
  462.     ADDQ.B    #1,D3
  463.     MOVE.W    CCR,D4
  464.     ANDI.W    #$EE,D4        ; CLEAR X,C
  465.     ANDI.W    #$11,D6
  466.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  467.     MOVE.B    D3,D7
  468.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  469.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  470.     SUBQ.L    #1,A2
  471.     MOVE.W    (A2)+,D1
  472.     IF    DEEBUG
  473.     BRA    DEBUG
  474.     ELSE
  475.     JMP    ([A3,D1.W*4])
  476.     ENDIF
  477.  
  478. MAIN0D:                ; DEC C
  479.     MOVE.W    D4,D6
  480.     MOVE.W    D4,CCR
  481.     SUBQ.B    #1,D3
  482.     MOVE.W    CCR,D4
  483.     ANDI.W    #$EE,D4        ; CLEAR X,C
  484.     ANDI.W    #$11,D6
  485.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  486.     MOVE.B    D3,D7
  487.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  488.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  489.     SUBQ.L    #1,A2
  490.     MOVE.W    (A2)+,D1
  491.     IF    DEEBUG
  492.     BRA    DEBUG
  493.     ELSE
  494.     JMP    ([A3,D1.W*4])
  495.     ENDIF
  496.  
  497. MAIN0E:                ; LD C,X
  498.     MOVE.B    D1,D3
  499.     MOVE.W    (A2)+,D1
  500.     IF    DEEBUG
  501.     BRA    DEBUG
  502.     ELSE
  503.     JMP    ([A3,D1.W*4])
  504.     ENDIF
  505.  
  506. MAIN0F:                ; RRCA
  507.     ROR.B    #1,D0
  508.     SCS    D7
  509.     ANDI.W    #$EE,D4        ; ONLY AFFECTS X,C
  510.     ANDI.W    #$11,D7
  511.     OR.B    D7,D4
  512.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  513.     SUBQ.L    #1,A2
  514.     MOVE.W    (A2)+,D1
  515.     IF    DEEBUG
  516.     BRA    DEBUG
  517.     ELSE
  518.     JMP    ([A3,D1.W*4])
  519.     ENDIF
  520.  
  521. MAIN10:                ; DJNZ    X
  522.     ROL.W    #8,D3
  523.     SUBQ.B    #1,D3
  524.     BEQ.B    .L1
  525.     ROL.W    #8,D3
  526.     EXT.W    D1
  527.     ADDA.W    D1,A2
  528.     MOVE.W    (A2)+,D1
  529.     IF    DEEBUG
  530.     BRA    DEBUG
  531.     ELSE
  532.     JMP    ([A3,D1.W*4])
  533.     ENDIF
  534.  
  535. .L1    ROL.W    #8,D3
  536.     MOVE.W    (A2)+,D1
  537.     IF    DEEBUG
  538.     BRA    DEBUG
  539.     ELSE
  540.     JMP    ([A3,D1.W*4])
  541.     ENDIF
  542.  
  543.  
  544. MAIN11:                ; LD DE,XXXX
  545.     ROL.W    #8,D1
  546.     MOVE.B    (A2)+,D1
  547.     ROL.W    #8,D1
  548.     SWAP    D3
  549.     MOVE.W    D1,D3
  550.     SWAP    D3
  551.     MOVE.W    (A2)+,D1
  552.     IF    DEEBUG
  553.     BRA    DEBUG
  554.     ELSE
  555.     JMP    ([A3,D1.W*4])
  556.     ENDIF
  557.  
  558.  
  559. MAIN12:                ; LD (DE),A
  560.     MOVEQ    #0,D1
  561.     SWAP    D3
  562.     MOVE.W    D3,D1
  563.     SWAP    D3
  564.     CMPI.W    #$4000,D1    ; if DE >= 4000 do the instruction
  565.     BCS.B    .L1
  566.     MOVE.B    D0,(A0,D1.L)
  567.     SUBQ.L    #1,A2
  568.     MOVE.W    (A2)+,D1
  569.     IF    DEEBUG
  570.     BRA    DEBUG
  571.     ELSE
  572.     JMP    ([A3,D1.W*4])
  573.     ENDIF
  574.  
  575. .L1
  576.     CMPI.W    #$3BFF,D1    ; if DE <= 3C00 we are in ROM so do nothing
  577.     BHI.B    .L2
  578.     SUBQ.L    #1,A2
  579.     MOVE.W    (A2)+,D1
  580.     IF    DEEBUG
  581.     BRA    DEBUG
  582.     ELSE
  583.     JMP    ([A3,D1.W*4])
  584.     ENDIF
  585. .L2
  586.     MOVE.B    D0,D6        ; DE is pointing at the screen so update the
  587.     MOVE.B    D0,(A0,D1.L)    ; screen with A
  588.     BSR    _screenwrite
  589.     SUBQ.L    #1,A2
  590.     MOVE.W    (A2)+,D1
  591.     IF    DEEBUG
  592.     BRA    DEBUG
  593.     ELSE
  594.     JMP    ([A3,D1.W*4])
  595.     ENDIF
  596.  
  597. MAIN13:                ; INC DE
  598.     SWAP    D3
  599.     ADDQ.W    #1,D3
  600.     SWAP    D3
  601.     SUBQ.L    #1,A2
  602.     MOVE.W    (A2)+,D1
  603.     IF    DEEBUG
  604.     BRA    DEBUG
  605.     ELSE
  606.     JMP    ([A3,D1.W*4])
  607.     ENDIF
  608.  
  609. MAIN14:                ; INC D
  610.     MOVE.W    D4,D6
  611.     ROL.L    #8,D3
  612.     MOVE.W    D4,CCR
  613.     ADDQ.B    #1,D3
  614.     MOVE.W    CCR,D4
  615.     ANDI.W    #$EE,D4        ; CLEAR X,C
  616.     ANDI.W    #$11,D6
  617.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  618.     MOVE.B    D3,D7
  619.     ROR.L    #8,D3
  620.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  621.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  622.     SUBQ.L    #1,A2
  623.     MOVE.W    (A2)+,D1
  624.     IF    DEEBUG
  625.     BRA    DEBUG
  626.     ELSE
  627.     JMP    ([A3,D1.W*4])
  628.     ENDIF
  629.  
  630. MAIN15:                ; DEC D
  631.     MOVE.W    D4,D6
  632.     ROL.L    #8,D3
  633.     MOVE.W    D4,CCR
  634.     SUBQ.B    #1,D3
  635.     MOVE.W    CCR,D4
  636.     ANDI.W    #$EE,D4        ; CLEAR X,C
  637.     ANDI.W    #$11,D6
  638.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  639.     MOVE.B    D3,D7
  640.     ROR.L    #8,D3
  641.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  642.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  643.     SUBQ.L    #1,A2
  644.     MOVE.W    (A2)+,D1
  645.     IF    DEEBUG
  646.     BRA    DEBUG
  647.     ELSE
  648.     JMP    ([A3,D1.W*4])
  649.     ENDIF
  650.  
  651. MAIN16:                ; LD D,X
  652.     ROL.L    #8,D3
  653.     MOVE.B    D1,D3
  654.     ROR.L    #8,D3
  655.     MOVE.W    (A2)+,D1
  656.     IF    DEEBUG
  657.     BRA    DEBUG
  658.     ELSE
  659.     JMP    ([A3,D1.W*4])
  660.     ENDIF
  661.  
  662. MAIN17:                ; RLA
  663.     MOVE.W    D4,CCR
  664.     ROXL.B    #1,D0
  665.     SCS    D7
  666.     ANDI.W    #$EE,D4        ; ONLY AFFECTS X,C
  667.     ANDI.W    #$11,D7
  668.     OR.B    D7,D4
  669.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  670.     SUBQ.L    #1,A2
  671.     MOVE.W    (A2)+,D1
  672.     IF    DEEBUG
  673.     BRA    DEBUG
  674.     ELSE
  675.     JMP    ([A3,D1.W*4])
  676.     ENDIF
  677.  
  678. MAIN18:                ; JR X
  679.     EXT.W    D1
  680.     ADDA.W    D1,A2
  681.     MOVE.W    (A2)+,D1
  682.     IF    DEEBUG
  683.     BRA    DEBUG
  684.     ELSE
  685.     JMP    ([A3,D1.W*4])
  686.     ENDIF
  687.  
  688. MAIN19:                ; ADD HL,DE
  689.     ANDI.B    #$EE,D4        ; MASK X,C
  690.     MOVE.L    D3,D1
  691.     SWAP    D1
  692.     ADD.W    D1,D2
  693.     SCS.B    D7
  694.     ANDI.B    #$11,D7
  695.     OR.B    D7,D4
  696.     MOVEQ    #0,D5        ; SET H=0 N=0
  697.     SUBQ.L    #1,A2
  698.     MOVE.W    (A2)+,D1
  699.     IF    DEEBUG
  700.     BRA    DEBUG
  701.     ELSE
  702.     JMP    ([A3,D1.W*4])
  703.     ENDIF
  704.  
  705. MAIN1A:                ; LD A,(DE)
  706.     MOVEQ    #0,D1
  707.     SWAP    D3
  708.     MOVE.W    D3,D1
  709.     SWAP    D3
  710.     MOVE.B    (A0,D1.L),D0
  711.     SUBQ.L    #1,A2
  712.     MOVE.W    (A2)+,D1
  713.     IF    DEEBUG
  714.     BRA    DEBUG
  715.     ELSE
  716.     JMP    ([A3,D1.W*4])
  717.     ENDIF
  718.  
  719. MAIN1B:                ; DEC DE
  720.     SWAP    D3
  721.     SUBQ.W    #1,D3
  722.     SWAP    D3
  723.     SUBQ.L    #1,A2
  724.     MOVE.W    (A2)+,D1
  725.     IF    DEEBUG
  726.     BRA    DEBUG
  727.     ELSE
  728.     JMP    ([A3,D1.W*4])
  729.     ENDIF
  730.  
  731. MAIN1C:                ; INC E
  732.     MOVE.W    D4,D6
  733.     SWAP    D3
  734.     MOVE.W    D4,CCR
  735.     ADDQ.B    #1,D3
  736.     MOVE.W    CCR,D4
  737.     ANDI.W    #$EE,D4        ; CLEAR X,C
  738.     ANDI.W    #$11,D6
  739.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  740.     MOVE.B    D3,D7
  741.     SWAP    D3
  742.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  743.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  744.     SUBQ.L    #1,A2
  745.     MOVE.W    (A2)+,D1
  746.     IF    DEEBUG
  747.     BRA    DEBUG
  748.     ELSE
  749.     JMP    ([A3,D1.W*4])
  750.     ENDIF
  751.  
  752. MAIN1D:                ; DEC E
  753.     MOVE.W    D4,D6
  754.     SWAP    D3
  755.     MOVE.W    D4,CCR
  756.     SUBQ.B    #1,D3
  757.     MOVE.W    CCR,D4
  758.     ANDI.W    #$EE,D4        ; CLEAR X,C
  759.     ANDI.W    #$11,D6
  760.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  761.     MOVE.B    D3,D7
  762.     SWAP    D3
  763.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  764.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  765.     SUBQ.L    #1,A2
  766.     MOVE.W    (A2)+,D1
  767.     IF    DEEBUG
  768.     BRA    DEBUG
  769.     ELSE
  770.     JMP    ([A3,D1.W*4])
  771.     ENDIF
  772.  
  773. MAIN1E:                ; LD E,X
  774.     SWAP    D3
  775.     MOVE.B    D1,D3
  776.     SWAP    D3
  777.     MOVE.W    (A2)+,D1
  778.     IF    DEEBUG
  779.     BRA    DEBUG
  780.     ELSE
  781.     JMP    ([A3,D1.W*4])
  782.     ENDIF
  783.  
  784. MAIN1F:                ; RRA
  785.     MOVE.W    D4,CCR
  786.     ROXR.B    #1,D0
  787.     SCS    D7
  788.     ANDI.W    #$EE,D4        ; ONLY AFFECTS X,C
  789.     ANDI.W    #$11,D7
  790.     OR.B    D7,D4
  791.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  792.     SUBQ.L    #1,A2
  793.     MOVE.W    (A2)+,D1
  794.     IF    DEEBUG
  795.     BRA    DEBUG
  796.     ELSE
  797.     JMP    ([A3,D1.W*4])
  798.     ENDIF
  799.  
  800. MAIN20:                ; JR NZ,X
  801.     EXT.W    D1
  802.     MOVE.W    D4,CCR
  803.     BEQ.B    M201
  804.     ADDA.W    D1,A2
  805.     MOVE.W    (A2)+,D1
  806.     IF    DEEBUG
  807.     BRA    DEBUG
  808.     ELSE
  809.     JMP    ([A3,D1.W*4])
  810.     ENDIF
  811.  
  812. M201:    MOVE.W    (A2)+,D1
  813.     IF    DEEBUG
  814.     BRA    DEBUG
  815.     ELSE
  816.     JMP    ([A3,D1.W*4])
  817.     ENDIF
  818.  
  819. MAIN21:                ; LD HL,XXXX
  820.     ROL.W    #8,D1
  821.     MOVE.B    (A2)+,D1
  822.     ROL.W    #8,D1
  823.     MOVE.W    D1,D2
  824.     MOVE.W    (A2)+,D1
  825.     IF    DEEBUG
  826.     BRA    DEBUG
  827.     ELSE
  828.     JMP    ([A3,D1.W*4])
  829.     ENDIF
  830.  
  831. MAIN22:                ; LD (XXXX),HL
  832.     ROL.W    #8,D1
  833.     MOVE.B    (A2)+,D1
  834.     ROL.W    #8,D1
  835.     MOVEQ    #0,D7
  836.     MOVE.W    D1,D7
  837.     ROL.W    #8,D2
  838.     MOVE.W    D2,(A0,D7.L)
  839.     ROL.W    #8,D2
  840.     MOVE.W    (A2)+,D1
  841.     IF    DEEBUG
  842.     BRA    DEBUG
  843.     ELSE
  844.     JMP    ([A3,D1.W*4])
  845.     ENDIF
  846.  
  847. MAIN23:                ; INC HL
  848.     ADDQ.W    #1,D2
  849.     SUBQ.L    #1,A2
  850.     MOVE.W    (A2)+,D1
  851.     IF    DEEBUG
  852.     BRA    DEBUG
  853.     ELSE
  854.     JMP    ([A3,D1.W*4])
  855.     ENDIF
  856.  
  857. MAIN24:                ; INC H
  858.     MOVE.W    D4,D6
  859.     ROL.W    #8,D2
  860.     MOVE.W    D4,CCR
  861.     ADDQ.B    #1,D2
  862.     MOVE.W    CCR,D4
  863.     ANDI.W    #$EE,D4        ; CLEAR X,C
  864.     ANDI.W    #$11,D6
  865.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  866.     MOVE.B    D2,D7
  867.     ROL.W    #8,D2
  868.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  869.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  870.     SUBQ.L    #1,A2
  871.     MOVE.W    (A2)+,D1
  872.     IF    DEEBUG
  873.     BRA    DEBUG
  874.     ELSE
  875.     JMP    ([A3,D1.W*4])
  876.     ENDIF
  877.  
  878. MAIN25:                ; DEC H
  879.     MOVE.W    D4,D6
  880.     ROL.W    #8,D2
  881.     MOVE.W    D4,CCR
  882.     SUBQ.B    #1,D2
  883.     MOVE.W    CCR,D4
  884.     ANDI.W    #$EE,D4        ; CLEAR X,C
  885.     ANDI.W    #$11,D6
  886.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  887.     MOVE.B    D2,D7
  888.     ROL.W    #8,D2
  889.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  890.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  891.     SUBQ.L    #1,A2
  892.     MOVE.W    (A2)+,D1
  893.     IF    DEEBUG
  894.     BRA    DEBUG
  895.     ELSE
  896.     JMP    ([A3,D1.W*4])
  897.     ENDIF
  898.  
  899. MAIN26:                ; LD H,X
  900.     ROL.W    #8,D2
  901.     MOVE.B    D1,D2
  902.     ROL.W    #8,D2
  903.     MOVE.W    (A2)+,D1
  904.     IF    DEEBUG
  905.     BRA    DEBUG
  906.     ELSE
  907.     JMP    ([A3,D1.W*4])
  908.     ENDIF
  909.  
  910. MAIN27:
  911.     SUBQ.L    #1,A2
  912.     MOVE.W    (A2)+,D1
  913.     IF    DEEBUG
  914.     BRA    DEBUG
  915.     ELSE
  916.     JMP    ([A3,D1.W*4])
  917.     ENDIF
  918.  
  919. MAIN28:                ; JR Z,X
  920.     EXT.W    D1
  921.     MOVE.W    D4,CCR
  922.     BNE.B    M281
  923.     ADDA.W    D1,A2
  924.     MOVE.W    (A2)+,D1
  925.     IF    DEEBUG
  926.     BRA    DEBUG
  927.     ELSE
  928.     JMP    ([A3,D1.W*4])
  929.     ENDIF
  930.  
  931. M281:    MOVE.W    (A2)+,D1
  932.     IF    DEEBUG
  933.     BRA    DEBUG
  934.     ELSE
  935.     JMP    ([A3,D1.W*4])
  936.     ENDIF
  937.  
  938. MAIN29:                ; ADD HL,HL
  939.     ANDI.B    #$EE,D4        ; MASK X,C
  940.     ADD.W    D2,D2
  941.     SCS.B    D7
  942.     ANDI.B    #$11,D7
  943.     OR.B    D7,D4
  944.     MOVEQ    #0,D5        ; SET H=0 N=0
  945.     SUBQ.L    #1,A2
  946.     MOVE.W    (A2)+,D1
  947.     IF    DEEBUG
  948.     BRA    DEBUG
  949.     ELSE
  950.     JMP    ([A3,D1.W*4])
  951.     ENDIF
  952.  
  953. MAIN2A:                ; LD HL,(XXXX)
  954.     ROL.W    #8,D1
  955.     MOVE.B    (A2)+,D1
  956.     ROL.W    #8,D1
  957.     MOVEQ    #0,D7
  958.     MOVE.W    D1,D7
  959.     MOVE.W    (A0,D7.L),D2
  960.     ROL.W    #8,D2
  961.     MOVE.W    (A2)+,D1
  962.     IF    DEEBUG
  963.     BRA    DEBUG
  964.     ELSE
  965.     JMP    ([A3,D1.W*4])
  966.     ENDIF
  967.  
  968. MAIN2B:                ; DEC HL
  969.     SUBQ.W    #1,D2
  970.     SUBQ.L    #1,A2
  971.     MOVE.W    (A2)+,D1
  972.     IF    DEEBUG
  973.     BRA    DEBUG
  974.     ELSE
  975.     JMP    ([A3,D1.W*4])
  976.     ENDIF
  977.  
  978. MAIN2C:                ; INC L
  979.     MOVE.W    D4,D6
  980.     MOVE.W    D4,CCR
  981.     ADDQ.B    #1,D2
  982.     MOVE.W    CCR,D4
  983.     ANDI.W    #$EE,D4        ; CLEAR X,C
  984.     ANDI.W    #$11,D6
  985.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  986.     MOVE.B    D2,D7
  987.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO ADD TABLE
  988.     MOVE.B    $220(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  989.     SUBQ.L    #1,A2
  990.     MOVE.W    (A2)+,D1
  991.     IF    DEEBUG
  992.     BRA    DEBUG
  993.     ELSE
  994.     JMP    ([A3,D1.W*4])
  995.     ENDIF
  996.  
  997. MAIN2D:                ; DEC L
  998.     MOVE.W    D4,D6
  999.     MOVE.W    D4,CCR
  1000.     SUBQ.B    #1,D2
  1001.     MOVE.W    CCR,D4
  1002.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1003.     ANDI.W    #$11,D6
  1004.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  1005.     MOVE.B    D2,D7
  1006.     ANDI.W    #$00FF,D7    ; EXT D7 FOR INDEX INTO SUB TABLE
  1007.     MOVE.B    $320(A6,D7.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1008.     SUBQ.L    #1,A2
  1009.     MOVE.W    (A2)+,D1
  1010.     IF    DEEBUG
  1011.     BRA    DEBUG
  1012.     ELSE
  1013.     JMP    ([A3,D1.W*4])
  1014.     ENDIF
  1015.  
  1016. MAIN2E:                ; LD L,X
  1017.     MOVE.B    D1,D2
  1018.     MOVE.W    (A2)+,D1
  1019.     IF    DEEBUG
  1020.     BRA    DEBUG
  1021.     ELSE
  1022.     JMP    ([A3,D1.W*4])
  1023.     ENDIF
  1024.  
  1025. MAIN2F:                ; CPL
  1026.     NOT.B    D0
  1027.     MOVE.B    #$12,D5
  1028.     SUBQ.L    #1,A2    
  1029.     MOVE.W    (A2)+,D1
  1030.     IF    DEEBUG
  1031.     BRA    DEBUG
  1032.     ELSE
  1033.     JMP    ([A3,D1.W*4])
  1034.     ENDIF
  1035.  
  1036. MAIN30:                ; JR NC,X
  1037.     EXT.W    D1
  1038.     MOVE.W    D4,CCR
  1039.     BCS.B    M301
  1040.     ADDA.W    D1,A2
  1041.     MOVE.W    (A2)+,D1
  1042.     IF    DEEBUG
  1043.     BRA    DEBUG
  1044.     ELSE
  1045.     JMP    ([A3,D1.W*4])
  1046.     ENDIF
  1047.  
  1048. M301:    MOVE.W    (A2)+,D1
  1049.     IF    DEEBUG
  1050.     BRA    DEBUG
  1051.     ELSE
  1052.     JMP    ([A3,D1.W*4])
  1053.     ENDIF
  1054.  
  1055. MAIN31:                ; LD SP,XXXX
  1056.     ROL.W    #8,D1
  1057.     MOVE.B    (A2)+,D1
  1058.     ROL.W    #8,D1
  1059.     MOVEQ    #0,D7
  1060.     MOVE.W    D1,D7
  1061.     MOVE.L    A0,A4
  1062.     ADDA.L    D7,A4
  1063.     MOVE.W    (A2)+,D1
  1064.     IF    DEEBUG
  1065.     BRA    DEBUG
  1066.     ELSE
  1067.     JMP    ([A3,D1.W*4])
  1068.     ENDIF
  1069.  
  1070. MAIN32:                ; LD (XXXX),A
  1071.     MOVEQ    #0,D7
  1072.     ROL.W    #8,D1
  1073.     MOVE.B    (A2)+,D1
  1074.     ROL.W    #8,D1
  1075.     MOVE.W    D1,D7
  1076.     CMPI.W    #$4000,D7    ; if XXXX >= 4000 do the instruction
  1077.     BCS.B    .L1
  1078.     MOVE.B    D0,(A0,D7.L)
  1079.     MOVE.W    (A2)+,D1
  1080.     IF    DEEBUG
  1081.     BRA    DEBUG
  1082.     ELSE
  1083.     JMP    ([A3,D1.W*4])
  1084.     ENDIF
  1085.  
  1086. .L1
  1087.     CMPI.W    #$3BFF,D7    ; if XXXX <= 3C00 we are in ROM so do nothing
  1088.     BHI.B    .L2
  1089.     MOVE.W    (A2)+,D1
  1090.     IF    DEEBUG
  1091.     BRA    DEBUG
  1092.     ELSE
  1093.     JMP    ([A3,D1.W*4])
  1094.     ENDIF
  1095. .L2
  1096.     MOVE.B    D0,D6        ; XXXX is pointing at the screen so update the
  1097.     MOVE.B    D0,(A0,D7.L)    ; screen with A
  1098.     MOVE.L    D7,D1
  1099.     BSR    _screenwrite
  1100.     MOVE.W    (A2)+,D1
  1101.     IF    DEEBUG
  1102.     BRA    DEBUG
  1103.     ELSE
  1104.     JMP    ([A3,D1.W*4])
  1105.     ENDIF
  1106.  
  1107.  
  1108. MAIN33:                ; INC SP
  1109.     ADDQ.L    #1,A4
  1110.     SUBQ.L    #1,A2
  1111.     MOVE.W    (A2)+,D1
  1112.     IF    DEEBUG
  1113.     BRA    DEBUG
  1114.     ELSE
  1115.     JMP    ([A3,D1.W*4])
  1116.     ENDIF
  1117.  
  1118. MAIN34:                ; INC (HL)
  1119.     MOVE.W    D4,D7
  1120.     MOVEQ    #0,D1
  1121.     MOVE.W    D2,D1
  1122.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  1123.     BCS.B    .L1
  1124.     MOVE.B    (A0,D1.L),D6
  1125.     MOVE.W    D4,CCR
  1126.     ADDQ.B    #1,D6
  1127.     MOVE.W    CCR,D4
  1128.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1129.     ANDI.W    #$11,D7
  1130.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1131.     MOVE.B    D6,(A0,D1.L)
  1132.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  1133.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  1134.     SUBQ.L    #1,A2
  1135.     MOVE.W    (A2)+,D1
  1136.     IF    DEEBUG
  1137.     BRA    DEBUG
  1138.     ELSE
  1139.     JMP    ([A3,D1.W*4])
  1140.     ENDIF
  1141. .L1
  1142.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  1143.     BHI.B    .L2
  1144.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  1145.     MOVE.W    D4,CCR        ; ANY MEMORY
  1146.     ADDQ.B    #1,D6
  1147.     MOVE.W    CCR,D4
  1148.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1149.     ANDI.W    #$11,D7
  1150.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1151.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  1152.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  1153.     SUBQ.L    #1,A2
  1154.     MOVE.W    (A2)+,D1
  1155.     IF    DEEBUG
  1156.     BRA    DEBUG
  1157.     ELSE
  1158.     JMP    ([A3,D1.W*4])
  1159.     ENDIF
  1160. .L2
  1161.     MOVE.B    (A0,D1.L),D6
  1162.     MOVE.W    D4,CCR
  1163.     ADDQ.B    #1,D6
  1164.     MOVE.W    CCR,D4
  1165.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1166.     ANDI.W    #$11,D7
  1167.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1168.     MOVE.B    D6,(A0,D1.L)
  1169.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  1170.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  1171.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  1172.     SUBQ.L    #1,A2
  1173.     MOVE.W    (A2)+,D1
  1174.     IF    DEEBUG
  1175.     BRA    DEBUG
  1176.     ELSE
  1177.     JMP    ([A3,D1.W*4])
  1178.     ENDIF
  1179.  
  1180. MAIN35:                ; DEC (HL)
  1181.     MOVE.W    D4,D7
  1182.     MOVEQ    #0,D1
  1183.     MOVE.W    D2,D1
  1184.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  1185.     BCS.B    .L1
  1186.     MOVE.B    (A0,D1.L),D6
  1187.     MOVE.W    D4,CCR
  1188.     SUBQ.B    #1,D6
  1189.     MOVE.W    CCR,D4
  1190.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1191.     ANDI.W    #$11,D7
  1192.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1193.     MOVE.B    D6,(A0,D1.L)
  1194.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  1195.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1196.     SUBQ.L    #1,A2
  1197.     MOVE.W    (A2)+,D1
  1198.     IF    DEEBUG
  1199.     BRA    DEBUG
  1200.     ELSE
  1201.     JMP    ([A3,D1.W*4])
  1202.     ENDIF
  1203. .L1
  1204.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  1205.     BHI.B    .L2
  1206.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  1207.     MOVE.W    D4,CCR        ; ANY MEMORY
  1208.     SUBQ.B    #1,D6
  1209.     MOVE.W    CCR,D4
  1210.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1211.     ANDI.W    #$11,D7
  1212.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1213.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  1214.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1215.     SUBQ.L    #1,A2
  1216.     MOVE.W    (A2)+,D1
  1217.     IF    DEEBUG
  1218.     BRA    DEBUG
  1219.     ELSE
  1220.     JMP    ([A3,D1.W*4])
  1221.     ENDIF
  1222. .L2
  1223.     MOVE.B    (A0,D1.L),D6
  1224.     MOVE.W    D4,CCR
  1225.     SUBQ.B    #1,D6
  1226.     MOVE.W    CCR,D4
  1227.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1228.     ANDI.W    #$11,D7
  1229.     OR.B    D7,D4        ; SET X,C IF PREVIUOSLY SET
  1230.     MOVE.B    D6,(A0,D1.L)
  1231.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  1232.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1233.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  1234.     SUBQ.L    #1,A2
  1235.     MOVE.W    (A2)+,D1
  1236.     IF    DEEBUG
  1237.     BRA    DEBUG
  1238.     ELSE
  1239.     JMP    ([A3,D1.W*4])
  1240.     ENDIF
  1241.  
  1242. MAIN36:                ; LD (HL),X
  1243.     MOVEQ    #0,D7
  1244.     MOVE.W    D2,D7
  1245.     CMPI.W    #$4000,D7    ; if HL >= 4000 do the instruction
  1246.     BCS.B    .L1
  1247.     MOVE.B    D1,(A0,D7.L)
  1248.     MOVE.W    (A2)+,D1
  1249.     IF    DEEBUG
  1250.     BRA    DEBUG
  1251.     ELSE
  1252.     JMP    ([A3,D1.W*4])
  1253.     ENDIF
  1254. .L1
  1255.     CMPI.W    #$3BFF,D7    ; if HL <= 3C00 we are in ROM so do nothing
  1256.     BHI.B    .L2
  1257.     MOVE.W    (A2)+,D1
  1258.     IF    DEEBUG
  1259.     BRA    DEBUG
  1260.     ELSE
  1261.     JMP    ([A3,D1.W*4])
  1262.     ENDIF
  1263. .L2
  1264.     MOVE.B    D1,D6        ; HL is pointing at the screen so update the
  1265.     MOVE.B    D1,(A0,D7.L)    ; screen with A
  1266.     MOVE.L    D7,D1
  1267.     BSR    _screenwrite
  1268.     MOVE.W    (A2)+,D1
  1269.     IF    DEEBUG
  1270.     BRA    DEBUG
  1271.     ELSE
  1272.     JMP    ([A3,D1.W*4])
  1273.     ENDIF
  1274.  
  1275.  
  1276. MAIN37:                ; SCF
  1277.     ORI.B    #$11,D4
  1278.     SUBQ.L    #1,A2
  1279.     MOVE.W    (A2)+,D1
  1280.     IF    DEEBUG
  1281.     BRA    DEBUG
  1282.     ELSE
  1283.     JMP    ([A3,D1.W*4])
  1284.     ENDIF
  1285.  
  1286. MAIN38:                ; JR C,X
  1287.     EXT.W    D1
  1288.     MOVE.W    D4,CCR
  1289.     BCC.B    M381
  1290.     ADDA.W    D1,A2
  1291.     MOVE.W    (A2)+,D1
  1292.     IF    DEEBUG
  1293.     BRA    DEBUG
  1294.     ELSE
  1295.     JMP    ([A3,D1.W*4])
  1296.     ENDIF
  1297.  
  1298. M381:    MOVE.W    (A2)+,D1
  1299.     IF    DEEBUG
  1300.     BRA    DEBUG
  1301.     ELSE
  1302.     JMP    ([A3,D1.W*4])
  1303.     ENDIF
  1304.  
  1305. MAIN39:                ; ADD HL,SP
  1306.     ANDI.B    #$EE,D4        ; MASK X,C
  1307.     SUBA.L    A0,A4
  1308.     MOVE.L    A4,D7
  1309.     ADD.W    D7,D2
  1310.     SCS.B    D7
  1311.     ANDI.B    #$11,D7
  1312.     OR.B    D7,D4
  1313.     ADDA.L    A0,A4
  1314.     MOVEQ    #0,D5        ; SET H=0 N=0
  1315.     SUBQ.L    #1,A2
  1316.     MOVE.W    (A2)+,D1
  1317.     IF    DEEBUG
  1318.     BRA    DEBUG
  1319.     ELSE
  1320.     JMP    ([A3,D1.W*4])
  1321.     ENDIF
  1322.  
  1323. MAIN3A:                ; LD A,(XXXX)
  1324.     ROL.W    #8,D1
  1325.     MOVE.B    (A2)+,D1
  1326.     ROL.W    #8,D1
  1327.     MOVEQ    #0,D7
  1328.     MOVE.W    D1,D7
  1329.     MOVE.B    (A0,D7.L),D0
  1330.     MOVE.W    (A2)+,D1
  1331.     IF    DEEBUG
  1332.     BRA    DEBUG
  1333.     ELSE
  1334.     JMP    ([A3,D1.W*4])
  1335.     ENDIF
  1336.  
  1337. MAIN3B:                ; DEC SP
  1338.     SUBQ.L    #1,A4
  1339.     SUBQ.L    #1,A2
  1340.     MOVE.W    (A2)+,D1
  1341.     IF    DEEBUG
  1342.     BRA    DEBUG
  1343.     ELSE
  1344.     JMP    ([A3,D1.W*4])
  1345.     ENDIF
  1346.  
  1347. MAIN3C:                ; INC A
  1348.     MOVE.W    D4,D6
  1349.     MOVE.W    D4,CCR
  1350.     ADDQ.B    #1,D0
  1351.     MOVE.W    CCR,D4
  1352.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1353.     ANDI.W    #$11,D6
  1354.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  1355.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO ADD TABLE
  1356.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  1357.     SUBQ.L    #1,A2
  1358.     MOVE.W    (A2)+,D1
  1359.     IF    DEEBUG
  1360.     BRA    DEBUG
  1361.     ELSE
  1362.     JMP    ([A3,D1.W*4])
  1363.     ENDIF
  1364.  
  1365. MAIN3D:                ; DEC A
  1366.     MOVE.W    D4,D6
  1367.     MOVE.W    D4,CCR
  1368.     SUBQ.B    #1,D0
  1369.     MOVE.W    CCR,D4
  1370.     ANDI.W    #$EE,D4        ; CLEAR X,C
  1371.     ANDI.W    #$11,D6
  1372.     OR.B    D6,D4        ; SET X,C IF PREVIUOSLY SET
  1373.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO SUB TABLE
  1374.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  1375.     SUBQ.L    #1,A2
  1376.     MOVE.W    (A2)+,D1
  1377.     IF    DEEBUG
  1378.     BRA    DEBUG
  1379.     ELSE
  1380.     JMP    ([A3,D1.W*4])
  1381.     ENDIF
  1382.  
  1383. MAIN3E:                ; LD A,X
  1384.     MOVE.B    D1,D0
  1385.     MOVE.W    (A2)+,D1
  1386.     IF    DEEBUG
  1387.     BRA    DEBUG
  1388.     ELSE
  1389.     JMP    ([A3,D1.W*4])
  1390.     ENDIF
  1391.  
  1392. MAIN3F:                ; CCF
  1393.     MOVE.W    D4,CCR
  1394.     SCC.B    D7
  1395.     ANDI.B    #$EE,D4
  1396.     ANDI.B    #$11,D7
  1397.     OR.B    D7,D4
  1398.     SUBQ.L    #1,A2
  1399.     MOVE.W    (A2)+,D1
  1400.     IF    DEEBUG
  1401.     BRA    DEBUG
  1402.     ELSE
  1403.     JMP    ([A3,D1.W*4])
  1404.     ENDIF
  1405.  
  1406. MAIN40:                ; LD B,B (NOP)
  1407.     SUBQ.L    #1,A2
  1408.     MOVE.W    (A2)+,D1
  1409.     IF    DEEBUG
  1410.     BRA    DEBUG
  1411.     ELSE
  1412.     JMP    ([A3,D1.W*4])
  1413.     ENDIF
  1414.  
  1415. MAIN41:                ; LD B,C
  1416.     MOVE.B    D3,D1
  1417.     ROL.W    #8,D3
  1418.     MOVE.B    D1,D3
  1419.     SUBQ.L    #1,A2
  1420.     MOVE.W    (A2)+,D1
  1421.     IF    DEEBUG
  1422.     BRA    DEBUG
  1423.     ELSE
  1424.     JMP    ([A3,D1.W*4])
  1425.     ENDIF
  1426.  
  1427. MAIN42:                ; LD B,D
  1428.     ROL.L    #8,D3
  1429.     MOVE.B    D3,D1
  1430.     ROR.L    #8,D3
  1431.     ROL.W    #8,D3
  1432.     MOVE.B    D1,D3
  1433.     ROL.W    #8,D3
  1434.     SUBQ.L    #1,A2
  1435.     MOVE.W    (A2)+,D1
  1436.     IF    DEEBUG
  1437.     BRA    DEBUG
  1438.     ELSE
  1439.     JMP    ([A3,D1.W*4])
  1440.     ENDIF
  1441.  
  1442. MAIN43:                ; LD B,E
  1443.     SWAP    D3
  1444.     MOVE.B    D3,D1
  1445.     SWAP    D3
  1446.     ROL.W    #8,D3
  1447.     MOVE.B    D1,D3
  1448.     ROL.W    #8,D3
  1449.     SUBQ.L    #1,A2
  1450.     MOVE.W    (A2)+,D1
  1451.     IF    DEEBUG
  1452.     BRA    DEBUG
  1453.     ELSE
  1454.     JMP    ([A3,D1.W*4])
  1455.     ENDIF
  1456.  
  1457. MAIN44:                ; LD B,H
  1458.     MOVE.W    D2,D1
  1459.     ROL.W    #8,D1
  1460.     ROL.W    #8,D3
  1461.     MOVE.B    D1,D3
  1462.     ROL.W    #8,D3
  1463.     SUBQ.L    #1,A2
  1464.     MOVE.W    (A2)+,D1
  1465.     IF    DEEBUG
  1466.     BRA    DEBUG
  1467.     ELSE
  1468.     JMP    ([A3,D1.W*4])
  1469.     ENDIF
  1470.  
  1471. MAIN45:                ; LD B,L
  1472.     ROL.W    #8,D3
  1473.     MOVE.B    D2,D3
  1474.     ROL.W    #8,D3
  1475.     SUBQ.L    #1,A2
  1476.     MOVE.W    (A2)+,D1
  1477.     IF    DEEBUG
  1478.     BRA    DEBUG
  1479.     ELSE
  1480.     JMP    ([A3,D1.W*4])
  1481.     ENDIF
  1482.  
  1483. MAIN46:                ; LD B,(HL)
  1484.     MOVEQ    #0,D1
  1485.     MOVE.W    D2,D1
  1486.     ROL.W    #8,D3
  1487.     MOVE.B    (A0,D1.L),D3
  1488.     ROL.W    #8,D3
  1489.     SUBQ.L    #1,A2
  1490.     MOVE.W    (A2)+,D1
  1491.     IF    DEEBUG
  1492.     BRA    DEBUG
  1493.     ELSE
  1494.     JMP    ([A3,D1.W*4])
  1495.     ENDIF
  1496.  
  1497. MAIN47:                ; LD B,A
  1498.     ROL.W    #8,D3
  1499.     MOVE.B    D0,D3
  1500.     ROL.W    #8,D3
  1501.     SUBQ.L    #1,A2
  1502.     MOVE.W    (A2)+,D1
  1503.     IF    DEEBUG
  1504.     BRA    DEBUG
  1505.     ELSE
  1506.     JMP    ([A3,D1.W*4])
  1507.     ENDIF
  1508.  
  1509. MAIN48:                ; LD C,B
  1510.     MOVE.W    D3,D1
  1511.     ROL.W    #8,D1
  1512.     MOVE.B    D1,D3
  1513.     SUBQ.L    #1,A2
  1514.     MOVE.W    (A2)+,D1
  1515.     IF    DEEBUG
  1516.     BRA    DEBUG
  1517.     ELSE
  1518.     JMP    ([A3,D1.W*4])
  1519.     ENDIF
  1520.  
  1521. MAIN49:                ; LD C,C (NOP)
  1522.     SUBQ.L    #1,A2
  1523.     MOVE.W    (A2)+,D1
  1524.     IF    DEEBUG
  1525.     BRA    DEBUG
  1526.     ELSE
  1527.     JMP    ([A3,D1.W*4])
  1528.     ENDIF
  1529.  
  1530. MAIN4A:                ; LD C,D
  1531.     ROL.L    #8,D3
  1532.     MOVE.B    D3,D1
  1533.     ROR.L    #8,D3
  1534.     MOVE.B    D1,D3
  1535.     SUBQ.L    #1,A2
  1536.     MOVE.W    (A2)+,D1
  1537.     IF    DEEBUG
  1538.     BRA    DEBUG
  1539.     ELSE
  1540.     JMP    ([A3,D1.W*4])
  1541.     ENDIF
  1542.  
  1543. MAIN4B:                ; LD C,E
  1544.     SWAP    D3
  1545.     MOVE.B    D3,D1
  1546.     SWAP    D3
  1547.     MOVE.B    D1,D3
  1548.     SUBQ.L    #1,A2
  1549.     MOVE.W    (A2)+,D1
  1550.     IF    DEEBUG
  1551.     BRA    DEBUG
  1552.     ELSE
  1553.     JMP    ([A3,D1.W*4])
  1554.     ENDIF
  1555.  
  1556. MAIN4C:                ; LD C,H
  1557.     MOVE.L    D2,D1
  1558.     ROL.W    #8,D1
  1559.     MOVE.B    D1,D3
  1560.     SUBQ.L    #1,A2
  1561.     MOVE.W    (A2)+,D1
  1562.     IF    DEEBUG
  1563.     BRA    DEBUG
  1564.     ELSE
  1565.     JMP    ([A3,D1.W*4])
  1566.     ENDIF
  1567.  
  1568. MAIN4D:                ; LD C,L
  1569.     MOVE.B    D2,D3
  1570.     SUBQ.L    #1,A2
  1571.     MOVE.W    (A2)+,D1
  1572.     IF    DEEBUG
  1573.     BRA    DEBUG
  1574.     ELSE
  1575.     JMP    ([A3,D1.W*4])
  1576.     ENDIF
  1577.  
  1578. MAIN4E:                ; LD C,(HL)
  1579.     MOVEQ    #0,D1
  1580.     MOVE.W    D2,D1
  1581.     MOVE.B    (A0,D1.L),D3
  1582.     SUBQ.L    #1,A2
  1583.     MOVE.W    (A2)+,D1
  1584.     IF    DEEBUG
  1585.     BRA    DEBUG
  1586.     ELSE
  1587.     JMP    ([A3,D1.W*4])
  1588.     ENDIF
  1589.  
  1590. MAIN4F:                ; LD C,A
  1591.     MOVE.B    D0,D3
  1592.     SUBQ.L    #1,A2
  1593.     MOVE.W    (A2)+,D1
  1594.     IF    DEEBUG
  1595.     BRA    DEBUG
  1596.     ELSE
  1597.     JMP    ([A3,D1.W*4])
  1598.     ENDIF
  1599.  
  1600. MAIN50:                ; LD D,B
  1601.     MOVE.W    D3,D1
  1602.     ROR.W    #8,D1
  1603.     ROL.L    #8,D3
  1604.     MOVE.B    D1,D3
  1605.     ROR.L    #8,D3
  1606.     SUBQ.L    #1,A2
  1607.     MOVE.W    (A2)+,D1
  1608.     IF    DEEBUG
  1609.     BRA    DEBUG
  1610.     ELSE
  1611.     JMP    ([A3,D1.W*4])
  1612.     ENDIF
  1613.  
  1614. MAIN51:                ; LD D,C
  1615.     MOVE.W    D3,D1
  1616.     ROL.L    #8,D3
  1617.     MOVE.B    D1,D3
  1618.     ROR.L    #8,D3
  1619.     SUBQ.L    #1,A2    
  1620.     MOVE.W    (A2)+,D1
  1621.     IF    DEEBUG
  1622.     BRA    DEBUG
  1623.     ELSE
  1624.     JMP    ([A3,D1.W*4])
  1625.     ENDIF
  1626.  
  1627. MAIN52:                ; LD D,D (NOP)
  1628.     SUBQ.L    #1,A2
  1629.     MOVE.W    (A2)+,D1
  1630.     IF    DEEBUG
  1631.     BRA    DEBUG
  1632.     ELSE
  1633.     JMP    ([A3,D1.W*4])
  1634.     ENDIF
  1635.  
  1636. MAIN53:                ; LD D,E
  1637.     SWAP    D3
  1638.     MOVE.W    D3,D1
  1639.     ROL.W    #8,D3
  1640.     MOVE.B    D1,D3
  1641.     SWAP    D3
  1642.     SUBQ.L    #1,A2
  1643.     MOVE.W    (A2)+,D1
  1644.     IF    DEEBUG
  1645.     BRA    DEBUG
  1646.     ELSE
  1647.     JMP    ([A3,D1.W*4])
  1648.     ENDIF
  1649.  
  1650. MAIN54:                ; LD D,H
  1651.     MOVE.W    D2,D1
  1652.     ROL.W    #8,D1
  1653.     ROL.L    #8,D3
  1654.     MOVE.B    D1,D3
  1655.     ROR.L    #8,D3
  1656.     SUBQ.L    #1,A2    
  1657.     MOVE.W    (A2)+,D1
  1658.     IF    DEEBUG
  1659.     BRA    DEBUG
  1660.     ELSE
  1661.     JMP    ([A3,D1.W*4])
  1662.     ENDIF
  1663.  
  1664. MAIN55:                ; LD D,L
  1665.     ROL.L    #8,D3
  1666.     MOVE.B    D2,D3
  1667.     ROR.L    #8,D3
  1668.     SUBQ.L    #1,A2
  1669.     MOVE.W    (A2)+,D1
  1670.     IF    DEEBUG
  1671.     BRA    DEBUG
  1672.     ELSE
  1673.     JMP    ([A3,D1.W*4])
  1674.     ENDIF
  1675.  
  1676. MAIN56:                ; LD D,(HL)
  1677.     MOVEQ    #0,D1
  1678.     MOVE.W    D2,D1
  1679.     ROL.L    #8,D3
  1680.     MOVE.B    (A0,D1.L),D3
  1681.     ROR.L    #8,D3
  1682.     SUBQ.L    #1,A2
  1683.     MOVE.W    (A2)+,D1
  1684.     IF    DEEBUG
  1685.     BRA    DEBUG
  1686.     ELSE
  1687.     JMP    ([A3,D1.W*4])
  1688.     ENDIF
  1689.  
  1690. MAIN57:                ; LD D,A
  1691.     ROL.L    #8,D3
  1692.     MOVE.B    D0,D3
  1693.     ROR.L    #8,D3
  1694.     SUBQ.L    #1,A2
  1695.     MOVE.W    (A2)+,D1
  1696.     IF    DEEBUG
  1697.     BRA    DEBUG
  1698.     ELSE
  1699.     JMP    ([A3,D1.W*4])
  1700.     ENDIF
  1701.  
  1702. MAIN58:                ; LD E,B
  1703.     MOVE.W    D3,D1
  1704.     ROL.W    #8,D1
  1705.     SWAP    D3
  1706.     MOVE.B    D1,D3
  1707.     SWAP    D3
  1708.     SUBQ.L    #1,A2
  1709.     MOVE.W    (A2)+,D1
  1710.     IF    DEEBUG
  1711.     BRA    DEBUG
  1712.     ELSE
  1713.     JMP    ([A3,D1.W*4])
  1714.     ENDIF
  1715.  
  1716. MAIN59:                ; LD E,C
  1717.     MOVE.W    D3,D1
  1718.     SWAP    D3
  1719.     MOVE.B    D1,D3
  1720.     SWAP    D3
  1721.     SUBQ.L    #1,A2
  1722.     MOVE.W    (A2)+,D1
  1723.     IF    DEEBUG
  1724.     BRA    DEBUG
  1725.     ELSE
  1726.     JMP    ([A3,D1.W*4])
  1727.     ENDIF
  1728.  
  1729. MAIN5A:                ; LD E,D
  1730.     MOVE.L    D3,D1
  1731.     ROL.L    #8,D1
  1732.     SWAP    D3
  1733.     MOVE.B    D1,D3
  1734.     SWAP    D3
  1735.     SUBQ.L    #1,A2
  1736.     MOVE.W    (A2)+,D1
  1737.     IF    DEEBUG
  1738.     BRA    DEBUG
  1739.     ELSE
  1740.     JMP    ([A3,D1.W*4])
  1741.     ENDIF
  1742.  
  1743. MAIN5B:                ; LD E,E (NOP)
  1744.     SUBQ.L    #1,A2
  1745.     MOVE.W    (A2)+,D1
  1746.     IF    DEEBUG
  1747.     BRA    DEBUG
  1748.     ELSE
  1749.     JMP    ([A3,D1.W*4])
  1750.     ENDIF
  1751.  
  1752. MAIN5C:                ; LD E,H
  1753.     MOVE.W    D2,D1
  1754.     ROL.W    #8,D1
  1755.     SWAP    D3
  1756.     MOVE.B    D1,D3
  1757.     SWAP    D3
  1758.     SUBQ.L    #1,A2
  1759.     MOVE.W    (A2)+,D1
  1760.     IF    DEEBUG
  1761.     BRA    DEBUG
  1762.     ELSE
  1763.     JMP    ([A3,D1.W*4])
  1764.     ENDIF
  1765.  
  1766. MAIN5D:                ; LD E,L
  1767.     SWAP    D3
  1768.     MOVE.B    D2,D3
  1769.     SWAP    D3
  1770.     SUBQ.L    #1,A2
  1771.     MOVE.W    (A2)+,D1
  1772.     IF    DEEBUG
  1773.     BRA    DEBUG
  1774.     ELSE
  1775.     JMP    ([A3,D1.W*4])
  1776.     ENDIF
  1777.  
  1778. MAIN5E:                ; LD E,(HL)
  1779.     MOVEQ    #0,D1
  1780.     MOVE.W    D2,D1
  1781.     SWAP    D3
  1782.     MOVE.B    (A0,D1.L),D3
  1783.     SWAP    D3
  1784.     SUBQ.L    #1,A2
  1785.     MOVE.W    (A2)+,D1
  1786.     IF    DEEBUG
  1787.     BRA    DEBUG
  1788.     ELSE
  1789.     JMP    ([A3,D1.W*4])
  1790.     ENDIF
  1791.  
  1792. MAIN5F:                ; LD E,A
  1793.     SWAP    D3
  1794.     MOVE.B    D0,D3
  1795.     SWAP    D3
  1796.     SUBQ.L    #1,A2
  1797.     MOVE.W    (A2)+,D1
  1798.     IF    DEEBUG
  1799.     BRA    DEBUG
  1800.     ELSE
  1801.     JMP    ([A3,D1.W*4])
  1802.     ENDIF
  1803.  
  1804. MAIN60:                ; LD H,B
  1805.     ROL.W    #8,D2
  1806.     ROL.W    #8,D3
  1807.     MOVE.B    D3,D2
  1808.     ROL.W    #8,D3
  1809.     ROL.W    #8,D2
  1810.     SUBQ.L    #1,A2
  1811.     MOVE.W    (A2)+,D1
  1812.     IF    DEEBUG
  1813.     BRA    DEBUG
  1814.     ELSE
  1815.     JMP    ([A3,D1.W*4])
  1816.     ENDIF
  1817.  
  1818. MAIN61:                ; LD H,C
  1819.     ROL.W    #8,D2
  1820.     MOVE.B    D3,D2
  1821.     ROL.W    #8,D2
  1822.     SUBQ.L    #1,A2
  1823.     MOVE.W    (A2)+,D1
  1824.     IF    DEEBUG
  1825.     BRA    DEBUG
  1826.     ELSE
  1827.     JMP    ([A3,D1.W*4])
  1828.     ENDIF
  1829.  
  1830. MAIN62:                ; LD H,D
  1831.     ROL.W    #8,D2
  1832.     ROL.L    #8,D3
  1833.     MOVE.B    D3,D2
  1834.     ROR.L    #8,D3
  1835.     ROL.W    #8,D2
  1836.     SUBQ.L    #1,A2
  1837.     MOVE.W    (A2)+,D1
  1838.     IF    DEEBUG
  1839.     BRA    DEBUG
  1840.     ELSE
  1841.     JMP    ([A3,D1.W*4])
  1842.     ENDIF
  1843.  
  1844. MAIN63:                ; LD H,E
  1845.     ROL.W    #8,D2
  1846.     SWAP    D3
  1847.     MOVE.B    D3,D2
  1848.     SWAP    D3
  1849.     ROL.W    #8,D2
  1850.     SUBQ.L    #1,A2
  1851.     MOVE.W    (A2)+,D1
  1852.     IF    DEEBUG
  1853.     BRA    DEBUG
  1854.     ELSE
  1855.     JMP    ([A3,D1.W*4])
  1856.     ENDIF
  1857.  
  1858. MAIN64:                ; LD H,H (NOP)
  1859.     SUBQ.L    #1,A2
  1860.     MOVE.W    (A2)+,D1
  1861.     IF    DEEBUG
  1862.     BRA    DEBUG
  1863.     ELSE
  1864.     JMP    ([A3,D1.W*4])
  1865.     ENDIF
  1866.  
  1867. MAIN65:                ; LD H,L
  1868.     MOVE.W    D2,D1
  1869.     ROL.W    #8,D2
  1870.     MOVE.B    D1,D2
  1871.     SUBQ.L    #1,A2
  1872.     MOVE.W    (A2)+,D1
  1873.     IF    DEEBUG
  1874.     BRA    DEBUG
  1875.     ELSE
  1876.     JMP    ([A3,D1.W*4])
  1877.     ENDIF
  1878.  
  1879. MAIN66:                ; LD H,(HL)
  1880.     MOVEQ    #0,D1
  1881.     MOVE.W    D2,D1
  1882.     ROL.W    #8,D2
  1883.     MOVE.B    (A0,D1.L),D2
  1884.     ROL.W    #8,D2
  1885.     SUBQ.L    #1,A2
  1886.     MOVE.W    (A2)+,D1
  1887.     IF    DEEBUG
  1888.     BRA    DEBUG
  1889.     ELSE
  1890.     JMP    ([A3,D1.W*4])
  1891.     ENDIF
  1892.  
  1893. MAIN67:                ; LD H,A
  1894.     ROL.W    #8,D2
  1895.     MOVE.B    D0,D2
  1896.     ROL.W    #8,D2
  1897.     SUBQ.L    #1,A2
  1898.     MOVE.W    (A2)+,D1
  1899.     IF    DEEBUG
  1900.     BRA    DEBUG
  1901.     ELSE
  1902.     JMP    ([A3,D1.W*4])
  1903.     ENDIF
  1904.  
  1905. MAIN68:                ; LD L,B
  1906.     ROL.W    #8,D3
  1907.     MOVE.B    D3,D2
  1908.     ROL.W    #8,D3
  1909.     SUBQ.L    #1,A2
  1910.     MOVE.W    (A2)+,D1
  1911.     IF    DEEBUG
  1912.     BRA    DEBUG
  1913.     ELSE
  1914.     JMP    ([A3,D1.W*4])
  1915.     ENDIF
  1916.  
  1917. MAIN69:                ; LD L,C
  1918.     MOVE.B    D3,D2
  1919.     SUBQ.L    #1,A2
  1920.     MOVE.W    (A2)+,D1
  1921.     IF    DEEBUG
  1922.     BRA    DEBUG
  1923.     ELSE
  1924.     JMP    ([A3,D1.W*4])
  1925.     ENDIF
  1926.  
  1927. MAIN6A:                ; LD L,D
  1928.     ROL.L    #8,D3
  1929.     MOVE.B    D3,D2
  1930.     ROR.L    #8,D3
  1931.     SUBQ.L    #1,A2
  1932.     MOVE.W    (A2)+,D1
  1933.     IF    DEEBUG
  1934.     BRA    DEBUG
  1935.     ELSE
  1936.     JMP    ([A3,D1.W*4])
  1937.     ENDIF
  1938.  
  1939. MAIN6B:                ; LD L,E
  1940.     SWAP    D3
  1941.     MOVE.B    D3,D2
  1942.     SWAP    D3
  1943.     SUBQ.L    #1,A2
  1944.     MOVE.W    (A2)+,D1
  1945.     IF    DEEBUG
  1946.     BRA    DEBUG
  1947.     ELSE
  1948.     JMP    ([A3,D1.W*4])
  1949.     ENDIF
  1950.  
  1951. MAIN6C:                ; LD L,H
  1952.     MOVE.W    D2,D1
  1953.     ROL.W    #8,D1
  1954.     MOVE.B    D2,D2
  1955.     SUBQ.L    #1,A2
  1956.     MOVE.W    (A2)+,D1
  1957.     IF    DEEBUG
  1958.     BRA    DEBUG
  1959.     ELSE
  1960.     JMP    ([A3,D1.W*4])
  1961.     ENDIF
  1962.  
  1963. MAIN6D:                ; LD L,L (NOP)
  1964.     SUBQ.L    #1,A2
  1965.     MOVE.W    (A2)+,D1
  1966.     IF    DEEBUG
  1967.     BRA    DEBUG
  1968.     ELSE
  1969.     JMP    ([A3,D1.W*4])
  1970.     ENDIF
  1971.  
  1972. MAIN6E:                ; LD L,(HL)
  1973.     MOVEQ    #0,D1
  1974.     MOVE.W    D2,D1
  1975.     MOVE.B    (A0,D1.L),D2
  1976.     SUBQ.L    #1,A2
  1977.     MOVE.W    (A2)+,D1
  1978.     IF    DEEBUG
  1979.     BRA    DEBUG
  1980.     ELSE
  1981.     JMP    ([A3,D1.W*4])
  1982.     ENDIF
  1983.  
  1984. MAIN6F:                ; LD L,A
  1985.     MOVE.B    D0,D2
  1986.     SUBQ.L    #1,A2
  1987.     MOVE.W    (A2)+,D1
  1988.     IF    DEEBUG
  1989.     BRA    DEBUG
  1990.     ELSE
  1991.     JMP    ([A3,D1.W*4])
  1992.     ENDIF
  1993.  
  1994. MAIN70:                ; LD (HL),B
  1995.     MOVEQ    #0,D1
  1996.     MOVE.W    D2,D1
  1997.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  1998.     BCS.B    .L1
  1999.     ROL.W    #8,D3
  2000.     MOVE.B    D3,(A0,D1.L)
  2001.     ROL.W    #8,D3
  2002.     SUBQ.L    #1,A2
  2003.     MOVE.W    (A2)+,D1
  2004.     IF    DEEBUG
  2005.     BRA    DEBUG
  2006.     ELSE
  2007.     JMP    ([A3,D1.W*4])
  2008.     ENDIF
  2009. .L1
  2010.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2011.     BHI.B    .L2
  2012.     SUBQ.L    #1,A2
  2013.     MOVE.W    (A2)+,D1
  2014.     IF    DEEBUG
  2015.     BRA    DEBUG
  2016.     ELSE
  2017.     JMP    ([A3,D1.W*4])
  2018.     ENDIF
  2019. .L2
  2020.     ROL.W    #8,D3
  2021.     MOVE.B    D3,D6        ; HL is pointing at the screen so update the
  2022.     MOVE.B    D3,(A0,D1.L)    ; screen with L
  2023.     ROL.W    #8,D3
  2024.     BSR    _screenwrite
  2025.     SUBQ.L    #1,A2
  2026.     MOVE.W    (A2)+,D1
  2027.     IF    DEEBUG
  2028.     BRA    DEBUG
  2029.     ELSE
  2030.     JMP    ([A3,D1.W*4])
  2031.     ENDIF
  2032.  
  2033. MAIN71:                ; LD (HL),C
  2034.     MOVEQ    #0,D1
  2035.     MOVE.W    D2,D1
  2036.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2037.     BCS.B    .L1
  2038.     MOVE.B    D3,(A0,D1.L)
  2039.     SUBQ.L    #1,A2
  2040.     MOVE.W    (A2)+,D1
  2041.     IF    DEEBUG
  2042.     BRA    DEBUG
  2043.     ELSE
  2044.     JMP    ([A3,D1.W*4])
  2045.     ENDIF
  2046. .L1
  2047.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2048.     BHI.B    .L2
  2049.     SUBQ.L    #1,A2
  2050.     MOVE.W    (A2)+,D1
  2051.     IF    DEEBUG
  2052.     BRA    DEBUG
  2053.     ELSE
  2054.     JMP    ([A3,D1.W*4])
  2055.     ENDIF
  2056. .L2
  2057.     MOVE.B    D3,D6        ; HL is pointing at the screen so update the
  2058.     MOVE.B    D3,(A0,D1.L)    ; screen with A
  2059.     BSR    _screenwrite
  2060.     SUBQ.L    #1,A2
  2061.     MOVE.W    (A2)+,D1
  2062.     IF    DEEBUG
  2063.     BRA    DEBUG
  2064.     ELSE
  2065.     JMP    ([A3,D1.W*4])
  2066.     ENDIF
  2067.  
  2068. MAIN72:                ; LD (HL),D
  2069.     MOVEQ    #0,D1
  2070.     MOVE.W    D2,D1
  2071.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2072.     BCS.B    .L1
  2073.     ROL.L    #8,D3
  2074.     MOVE.B    D3,(A0,D1.L)
  2075.     ROR.L    #8,D3
  2076.     SUBQ.L    #1,A2
  2077.     MOVE.W    (A2)+,D1
  2078.     IF    DEEBUG
  2079.     BRA    DEBUG
  2080.     ELSE
  2081.     JMP    ([A3,D1.W*4])
  2082.     ENDIF
  2083. .L1
  2084.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2085.     BHI.B    .L2
  2086.     SUBQ.L    #1,A2
  2087.     MOVE.W    (A2)+,D1
  2088.     IF    DEEBUG
  2089.     BRA    DEBUG
  2090.     ELSE
  2091.     JMP    ([A3,D1.W*4])
  2092.     ENDIF
  2093. .L2
  2094.     ROL.L    #8,D3
  2095.     MOVE.B    D3,D6        ; HL is pointing at the screen so update the
  2096.     MOVE.B    D3,(A0,D1.L)    ; screen with L
  2097.     ROR.L    #8,D3
  2098.     BSR    _screenwrite
  2099.     SUBQ.L    #1,A2
  2100.     MOVE.W    (A2)+,D1
  2101.     IF    DEEBUG
  2102.     BRA    DEBUG
  2103.     ELSE
  2104.     JMP    ([A3,D1.W*4])
  2105.     ENDIF
  2106.  
  2107. MAIN73:                ; LD (HL),E
  2108.     MOVEQ    #0,D1
  2109.     MOVE.W    D2,D1
  2110.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2111.     BCS.B    .L1
  2112.     SWAP    D3
  2113.     MOVE.B    D3,(A0,D1.L)
  2114.     SWAP    D3
  2115.     SUBQ.L    #1,A2
  2116.     MOVE.W    (A2)+,D1
  2117.     IF    DEEBUG
  2118.     BRA    DEBUG
  2119.     ELSE
  2120.     JMP    ([A3,D1.W*4])
  2121.     ENDIF
  2122. .L1
  2123.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2124.     BHI.B    .L2
  2125.     SUBQ.L    #1,A2
  2126.     MOVE.W    (A2)+,D1
  2127.     IF    DEEBUG
  2128.     BRA    DEBUG
  2129.     ELSE
  2130.     JMP    ([A3,D1.W*4])
  2131.     ENDIF
  2132. .L2
  2133.     SWAP    D3
  2134.     MOVE.B    D3,D6        ; HL is pointing at the screen so update the
  2135.     MOVE.B    D3,(A0,D1.L)    ; screen with L
  2136.     SWAP    D3
  2137.     BSR    _screenwrite
  2138.     SUBQ.L    #1,A2
  2139.     MOVE.W    (A2)+,D1
  2140.     IF    DEEBUG
  2141.     BRA    DEBUG
  2142.     ELSE
  2143.     JMP    ([A3,D1.W*4])
  2144.     ENDIF
  2145.  
  2146. MAIN74:                ; LD (HL),H
  2147.     MOVEQ    #0,D1
  2148.     MOVE.W    D2,D1
  2149.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2150.     BCS.B    .L1
  2151.     ROL.W    #8,D2
  2152.     MOVE.B    D2,(A0,D1.L)
  2153.     ROL.W    #8,D2
  2154.     SUBQ.L    #1,A2
  2155.     MOVE.W    (A2)+,D1
  2156.     IF    DEEBUG
  2157.     BRA    DEBUG
  2158.     ELSE
  2159.     JMP    ([A3,D1.W*4])
  2160.     ENDIF
  2161. .L1
  2162.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2163.     BHI.B    .L2
  2164.     SUBQ.L    #1,A2
  2165.     MOVE.W    (A2)+,D1
  2166.     IF    DEEBUG
  2167.     BRA    DEBUG
  2168.     ELSE
  2169.     JMP    ([A3,D1.W*4])
  2170.     ENDIF
  2171. .L2
  2172.     ROL.W    #8,D2
  2173.     MOVE.B    D2,D6        ; HL is pointing at the screen so update the
  2174.     MOVE.B    D2,(A0,D1.L)    ; screen with L
  2175.     ROL.W    #8,D2
  2176.     BSR    _screenwrite
  2177.     SUBQ.L    #1,A2
  2178.     MOVE.W    (A2)+,D1
  2179.     IF    DEEBUG
  2180.     BRA    DEBUG
  2181.     ELSE
  2182.     JMP    ([A3,D1.W*4])
  2183.     ENDIF
  2184.  
  2185. MAIN75:                ; LD (HL),L
  2186.     MOVEQ    #0,D1
  2187.     MOVE.W    D2,D1
  2188.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2189.     BCS.B    .L1
  2190.     MOVE.B    D2,(A0,D1.L)
  2191.     SUBQ.L    #1,A2
  2192.     MOVE.W    (A2)+,D1
  2193.     IF    DEEBUG
  2194.     BRA    DEBUG
  2195.     ELSE
  2196.     JMP    ([A3,D1.W*4])
  2197.     ENDIF
  2198. .L1
  2199.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2200.     BHI.B    .L2
  2201.     SUBQ.L    #1,A2
  2202.     MOVE.W    (A2)+,D1
  2203.     IF    DEEBUG
  2204.     BRA    DEBUG
  2205.     ELSE
  2206.     JMP    ([A3,D1.W*4])
  2207.     ENDIF
  2208. .L2
  2209.     MOVE.B    D2,D6        ; HL is pointing at the screen so update the
  2210.     MOVE.B    D2,(A0,D1.L)    ; screen with L
  2211.     BSR    _screenwrite
  2212.     SUBQ.L    #1,A2
  2213.     MOVE.W    (A2)+,D1
  2214.     IF    DEEBUG
  2215.     BRA    DEBUG
  2216.     ELSE
  2217.     JMP    ([A3,D1.W*4])
  2218.     ENDIF
  2219.  
  2220. MAIN76:                ; HALT (RETURN TO MAIN TASK)
  2221.  
  2222.     MOVEM.L    (SP)+,A0-A6/D0-D7    
  2223.     RTS
  2224.  
  2225.  
  2226. MAIN77:                ; LD (HL),A
  2227.     MOVEQ    #0,D1
  2228.     MOVE.W    D2,D1
  2229.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  2230.     BCS.B    .L1
  2231.     MOVE.B    D0,(A0,D1.L)
  2232.     SUBQ.L    #1,A2
  2233.     MOVE.W    (A2)+,D1
  2234.     IF    DEEBUG
  2235.     BRA    DEBUG
  2236.     ELSE
  2237.     JMP    ([A3,D1.W*4])
  2238.     ENDIF
  2239. .L1
  2240.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  2241.     BHI.B    .L2
  2242.     SUBQ.L    #1,A2
  2243.     MOVE.W    (A2)+,D1
  2244.     IF    DEEBUG
  2245.     BRA    DEBUG
  2246.     ELSE
  2247.     JMP    ([A3,D1.W*4])
  2248.     ENDIF
  2249. .L2
  2250.     MOVE.B    D0,D6        ; HL is pointing at the screen so update the
  2251.     MOVE.B    D0,(A0,D1.L)    ; screen with A
  2252.     BSR    _screenwrite
  2253.     SUBQ.L    #1,A2
  2254.     MOVE.W    (A2)+,D1
  2255.     IF    DEEBUG
  2256.     BRA    DEBUG
  2257.     ELSE
  2258.     JMP    ([A3,D1.W*4])
  2259.     ENDIF
  2260.  
  2261. MAIN78:                ; LD A,B
  2262.     MOVE.W    D3,D1
  2263.     ROL.W    #8,D1
  2264.     MOVE.B    D1,D0
  2265.     SUBQ.L    #1,A2
  2266.     MOVE.W    (A2)+,D1
  2267.     IF    DEEBUG
  2268.     BRA    DEBUG
  2269.     ELSE
  2270.     JMP    ([A3,D1.W*4])
  2271.     ENDIF
  2272.  
  2273. MAIN79:                ; LD A,C
  2274.     MOVE.B    D3,D0
  2275.     SUBQ.L    #1,A2
  2276.     MOVE.W    (A2)+,D1
  2277.     IF    DEEBUG
  2278.     BRA    DEBUG
  2279.     ELSE
  2280.     JMP    ([A3,D1.W*4])
  2281.     ENDIF
  2282.  
  2283. MAIN7A:                ; LD A,D
  2284.     MOVE.L    D3,D1
  2285.     ROL.L    #8,D1
  2286.     MOVE.B    D1,D0
  2287.     SUBQ.L    #1,A2
  2288.     MOVE.W    (A2)+,D1
  2289.     IF    DEEBUG
  2290.     BRA    DEBUG
  2291.     ELSE
  2292.     JMP    ([A3,D1.W*4])
  2293.     ENDIF
  2294.  
  2295. MAIN7B:                ; LD A,E
  2296.     MOVE.L    D3,D1
  2297.     SWAP    D1
  2298.     MOVE.B    D1,D0
  2299.     SUBQ.L    #1,A2
  2300.     MOVE.W    (A2)+,D1
  2301.     IF    DEEBUG
  2302.     BRA    DEBUG
  2303.     ELSE
  2304.     JMP    ([A3,D1.W*4])
  2305.     ENDIF
  2306.  
  2307. MAIN7C:                ; LD A,H
  2308.     MOVE.W    D2,D1
  2309.     ROL.W    #8,D1
  2310.     MOVE.B    D1,D0
  2311.     SUBQ.L    #1,A2
  2312.     MOVE.W    (A2)+,D1
  2313.     IF    DEEBUG
  2314.     BRA    DEBUG
  2315.     ELSE
  2316.     JMP    ([A3,D1.W*4])
  2317.     ENDIF
  2318.  
  2319. MAIN7D:                ; LD A,L
  2320.     MOVE.B    D2,D0
  2321.     SUBQ.L    #1,A2
  2322.     MOVE.W    (A2)+,D1
  2323.     IF    DEEBUG
  2324.     BRA    DEBUG
  2325.     ELSE
  2326.     JMP    ([A3,D1.W*4])
  2327.     ENDIF
  2328.  
  2329. MAIN7E:                ; LD A,(HL)
  2330.     MOVEQ    #0,D1
  2331.     MOVE.W    D2,D1
  2332.     MOVE.B    (A0,D1.L),D0
  2333.     SUBQ.L    #1,A2
  2334.     MOVE.W    (A2)+,D1
  2335.     IF    DEEBUG
  2336.     BRA    DEBUG
  2337.     ELSE
  2338.     JMP    ([A3,D1.W*4])
  2339.     ENDIF
  2340.  
  2341. MAIN7F:                ; LD A,A (NOP)
  2342.     SUBQ.L    #1,A2
  2343.     MOVE.W    (A2)+,D1
  2344.     IF    DEEBUG
  2345.     BRA    DEBUG
  2346.     ELSE
  2347.     JMP    ([A3,D1.W*4])
  2348.     ENDIF
  2349.  
  2350.  
  2351. MAIN80:                ; ADD A,B
  2352.     MOVE.W    D3,D1
  2353.     ROL.W    #8,D1
  2354.     MOVE.W    D4,CCR
  2355.     ADD.B    D1,D0
  2356.     MOVE.W    CCR,D4
  2357.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2358.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2359.     SUBQ.L    #1,A2
  2360.     MOVE.W    (A2)+,D1
  2361.     IF    DEEBUG
  2362.     BRA    DEBUG
  2363.     ELSE
  2364.     JMP    ([A3,D1.W*4])
  2365.     ENDIF
  2366.  
  2367. MAIN81:                ; ADD A,C
  2368.     MOVE.W    D4,CCR
  2369.     ADD.B    D3,D0
  2370.     MOVE.W    CCR,D4
  2371.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2372.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2373.     SUBQ.L    #1,A2
  2374.     MOVE.W    (A2)+,D1
  2375.     IF    DEEBUG
  2376.     BRA    DEBUG
  2377.     ELSE
  2378.     JMP    ([A3,D1.W*4])
  2379.     ENDIF
  2380.  
  2381. MAIN82:                ; ADD A,D
  2382.     MOVE.L    D3,D1
  2383.     ROL.L    #8,D1
  2384.     MOVE.W    D4,CCR
  2385.     ADD.B    D1,D0
  2386.     MOVE.W    CCR,D4
  2387.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2388.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2389.     SUBQ.L    #1,A2
  2390.     MOVE.W    (A2)+,D1
  2391.     IF    DEEBUG
  2392.     BRA    DEBUG
  2393.     ELSE
  2394.     JMP    ([A3,D1.W*4])
  2395.     ENDIF
  2396.  
  2397. MAIN83:                ; ADD A,E
  2398.     MOVE.L    D3,D1
  2399.     SWAP    D1
  2400.     MOVE.W    D4,CCR
  2401.     ADD.B    D1,D0
  2402.     MOVE.W    CCR,D4
  2403.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2404.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2405.     SUBQ.L    #1,A2
  2406.     MOVE.W    (A2)+,D1
  2407.     IF    DEEBUG
  2408.     BRA    DEBUG
  2409.     ELSE
  2410.     JMP    ([A3,D1.W*4])
  2411.     ENDIF
  2412.  
  2413. MAIN84:                ; ADD A,H
  2414.     MOVE.W    D2,D1
  2415.     ROL.W    #8,D1
  2416.     MOVE.W    D4,CCR
  2417.     ADD.B    D1,D0
  2418.     MOVE.W    CCR,D4
  2419.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2420.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2421.     SUBQ.L    #1,A2
  2422.     MOVE.W    (A2)+,D1
  2423.     IF    DEEBUG
  2424.     BRA    DEBUG
  2425.     ELSE
  2426.     JMP    ([A3,D1.W*4])
  2427.     ENDIF
  2428.  
  2429. MAIN85:                ; ADD A,L
  2430.     MOVE.W    D4,CCR
  2431.     ADD.B    D2,D0
  2432.     MOVE.W    CCR,D4
  2433.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2434.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2435.     SUBQ.L    #1,A2
  2436.     MOVE.W    (A2)+,D1
  2437.     IF    DEEBUG
  2438.     BRA    DEBUG
  2439.     ELSE
  2440.     JMP    ([A3,D1.W*4])
  2441.     ENDIF
  2442.  
  2443. MAIN86:                ; ADD A,(HL)
  2444.     MOVEQ    #0,D1
  2445.     MOVE.W    D2,D1
  2446.     MOVE.W    D4,CCR
  2447.     ADD.B    (A0,D1.L),D0
  2448.     MOVE.W    CCR,D4
  2449.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2450.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2451.     SUBQ.L    #1,A2
  2452.     MOVE.W    (A2)+,D1
  2453.     IF    DEEBUG
  2454.     BRA    DEBUG
  2455.     ELSE
  2456.     JMP    ([A3,D1.W*4])
  2457.     ENDIF
  2458.  
  2459. MAIN87:                ; ADD A,A
  2460.     MOVE.W    D4,CCR
  2461.     ADD.B    D0,D0
  2462.     MOVE.W    CCR,D4
  2463.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2464.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2465.     SUBQ.L    #1,A2
  2466.     MOVE.W    (A2)+,D1
  2467.     IF    DEEBUG
  2468.     BRA    DEBUG
  2469.     ELSE
  2470.     JMP    ([A3,D1.W*4])
  2471.     ENDIF
  2472.  
  2473. MAIN88:                ; ADC A,B
  2474.     MOVE.W    D3,D1
  2475.     ROL.W    #8,D1
  2476.     ORI.B    #4,D4
  2477.     MOVE.W    D4,CCR
  2478.     ADDX.B    D1,D0
  2479.     MOVE.W    CCR,D4
  2480.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2481.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2482.     SUBQ.L    #1,A2
  2483.     MOVE.W    (A2)+,D1
  2484.     IF    DEEBUG
  2485.     BRA    DEBUG
  2486.     ELSE
  2487.     JMP    ([A3,D1.W*4])
  2488.     ENDIF
  2489.  
  2490. MAIN89:                ; ADC A,C
  2491.     ORI.B    #4,D4
  2492.     MOVE.W    D4,CCR
  2493.     ADDX.B    D3,D0
  2494.     MOVE.W    CCR,D4
  2495.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2496.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2497.     SUBQ.L    #1,A2
  2498.     MOVE.W    (A2)+,D1
  2499.     IF    DEEBUG
  2500.     BRA    DEBUG
  2501.     ELSE
  2502.     JMP    ([A3,D1.W*4])
  2503.     ENDIF
  2504.  
  2505. MAIN8A:                ; ADC A,D
  2506.     MOVE.L    D3,D1
  2507.     ROL.L    #8,D1
  2508.     ORI.B    #4,D4
  2509.     MOVE.W    D4,CCR
  2510.     ADDX.B    D1,D0
  2511.     MOVE.W    CCR,D4
  2512.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2513.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2514.     SUBQ.L    #1,A2
  2515.     MOVE.W    (A2)+,D1
  2516.     IF    DEEBUG
  2517.     BRA    DEBUG
  2518.     ELSE
  2519.     JMP    ([A3,D1.W*4])
  2520.     ENDIF
  2521.  
  2522. MAIN8B:                ; ADC A,E
  2523.     MOVE.L    D3,D1
  2524.     SWAP    D1
  2525.     ORI.B    #4,D4
  2526.     MOVE.W    D4,CCR
  2527.     ADDX.B    D1,D0
  2528.     MOVE.W    CCR,D4
  2529.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2530.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2531.     SUBQ.L    #1,A2
  2532.     MOVE.W    (A2)+,D1
  2533.     IF    DEEBUG
  2534.     BRA    DEBUG
  2535.     ELSE
  2536.     JMP    ([A3,D1.W*4])
  2537.     ENDIF
  2538.  
  2539. MAIN8C:                ; ADC A,H
  2540.     MOVE.W    D2,D1
  2541.     ROL.W    #8,D1
  2542.     ORI.B    #4,D4
  2543.     MOVE.W    D4,CCR
  2544.     ADDX.B    D1,D0
  2545.     MOVE.W    CCR,D4
  2546.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2547.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2548.     SUBQ.L    #1,A2
  2549.     MOVE.W    (A2)+,D1
  2550.     IF    DEEBUG
  2551.     BRA    DEBUG
  2552.     ELSE
  2553.     JMP    ([A3,D1.W*4])
  2554.     ENDIF
  2555.  
  2556. MAIN8D:                ; ADC A,L
  2557.     ORI.B    #4,D4
  2558.     MOVE.W    D4,CCR
  2559.     ADDX.B    D2,D0
  2560.     MOVE.W    CCR,D4
  2561.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2562.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2563.     SUBQ.L    #1,A2
  2564.     MOVE.W    (A2)+,D1
  2565.     IF    DEEBUG
  2566.     BRA    DEBUG
  2567.     ELSE
  2568.     JMP    ([A3,D1.W*4])
  2569.     ENDIF
  2570.  
  2571. MAIN8E:                ; ADC A,(HL)
  2572.     MOVEQ    #0,D1
  2573.     MOVE.W    D2,D1
  2574.     MOVE.B    (A0,D1.L),D7
  2575.     ORI.B    #4,D4
  2576.     MOVE.W    D4,CCR
  2577.     ADDX.B    D7,D0
  2578.     MOVE.W    CCR,D4
  2579.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2580.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2581.     SUBQ.L    #1,A2
  2582.     MOVE.W    (A2)+,D1
  2583.     IF    DEEBUG
  2584.     BRA    DEBUG
  2585.     ELSE
  2586.     JMP    ([A3,D1.W*4])
  2587.     ENDIF
  2588.  
  2589. MAIN8F:                ; ADC A,A
  2590.     ORI.B    #4,D4
  2591.     MOVE.W    D4,CCR
  2592.     ADDX.B    D0,D0
  2593.     MOVE.W    CCR,D4
  2594.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  2595.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  2596.     SUBQ.L    #1,A2
  2597.     MOVE.W    (A2)+,D1
  2598.     IF    DEEBUG
  2599.     BRA    DEBUG
  2600.     ELSE
  2601.     JMP    ([A3,D1.W*4])
  2602.     ENDIF
  2603.  
  2604. MAIN90:                ; SUB B
  2605.     MOVE.W    D3,D1
  2606.     ROL.W    #8,D1
  2607.     MOVE.W    D4,CCR
  2608.     SUB.B    D1,D0
  2609.     MOVE.W    CCR,D4
  2610.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2611.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2612.     SUBQ.L    #1,A2
  2613.     MOVE.W    (A2)+,D1
  2614.     IF    DEEBUG
  2615.     BRA    DEBUG
  2616.     ELSE
  2617.     JMP    ([A3,D1.W*4])
  2618.     ENDIF
  2619.  
  2620. MAIN91:                ; SUB C
  2621.     MOVE.W    D4,CCR
  2622.     SUB.B    D3,D0
  2623.     MOVE.W    CCR,D4
  2624.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2625.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2626.     SUBQ.L    #1,A2
  2627.     MOVE.W    (A2)+,D1
  2628.     IF    DEEBUG
  2629.     BRA    DEBUG
  2630.     ELSE
  2631.     JMP    ([A3,D1.W*4])
  2632.     ENDIF
  2633.  
  2634. MAIN92:                ; SUB D
  2635.     MOVE.L    D3,D1
  2636.     ROL.L    #8,D1
  2637.     MOVE.W    D4,CCR
  2638.     SUB.B    D1,D0
  2639.     MOVE.W    CCR,D4
  2640.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2641.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2642.     SUBQ.L    #1,A2
  2643.     MOVE.W    (A2)+,D1
  2644.     IF    DEEBUG
  2645.     BRA    DEBUG
  2646.     ELSE
  2647.     JMP    ([A3,D1.W*4])
  2648.     ENDIF
  2649.  
  2650. MAIN93:                ; SUB E
  2651.     MOVE.L    D3,D1
  2652.     SWAP    D1
  2653.     MOVE.W    D4,CCR
  2654.     SUB.B    D1,D0
  2655.     MOVE.W    CCR,D4
  2656.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2657.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2658.     SUBQ.L    #1,A2
  2659.     MOVE.W    (A2)+,D1
  2660.     IF    DEEBUG
  2661.     BRA    DEBUG
  2662.     ELSE
  2663.     JMP    ([A3,D1.W*4])
  2664.     ENDIF
  2665.  
  2666. MAIN94:                ; SUB H
  2667.     MOVE.W    D2,D1
  2668.     ROL.W    #8,D1
  2669.     MOVE.W    D4,CCR
  2670.     SUB.B    D1,D0
  2671.     MOVE.W    CCR,D4
  2672.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2673.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2674.     SUBQ.L    #1,A2
  2675.     MOVE.W    (A2)+,D1
  2676.     IF    DEEBUG
  2677.     BRA    DEBUG
  2678.     ELSE
  2679.     JMP    ([A3,D1.W*4])
  2680.     ENDIF
  2681.  
  2682. MAIN95:                ; SUB L
  2683.     MOVE.W    D4,CCR
  2684.     SUB.B    D2,D0
  2685.     MOVE.W    CCR,D4
  2686.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2687.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2688.     SUBQ.L    #1,A2
  2689.     MOVE.W    (A2)+,D1
  2690.     IF    DEEBUG
  2691.     BRA    DEBUG
  2692.     ELSE
  2693.     JMP    ([A3,D1.W*4])
  2694.     ENDIF
  2695.  
  2696. MAIN96:                ; SUB (HL)
  2697.     MOVEQ    #0,D1
  2698.     MOVE.W    D2,D1
  2699.     MOVE.W    D4,CCR
  2700.     SUB.B    (A0,D1.L),D0
  2701.     MOVE.W    CCR,D4
  2702.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2703.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2704.     SUBQ.L    #1,A2
  2705.     MOVE.W    (A2)+,D1
  2706.     IF    DEEBUG
  2707.     BRA    DEBUG
  2708.     ELSE
  2709.     JMP    ([A3,D1.W*4])
  2710.     ENDIF
  2711.  
  2712. MAIN97:                ; SUB A
  2713.     MOVE.W    D4,CCR
  2714.     SUB.B    D0,D0
  2715.     MOVE.W    CCR,D4
  2716.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2717.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2718.     SUBQ.L    #1,A2
  2719.     MOVE.W    (A2)+,D1
  2720.     IF    DEEBUG
  2721.     BRA    DEBUG
  2722.     ELSE
  2723.     JMP    ([A3,D1.W*4])
  2724.     ENDIF
  2725.  
  2726. MAIN98:                ; SBC A,B
  2727.     ORI.B    #$04,D4        ; SET Z FLG
  2728.     MOVE.W    D3,D1
  2729.     ROL.W    #8,D1
  2730.     MOVE.W    D4,CCR
  2731.     SUBX.B    D1,D0
  2732.     MOVE.W    CCR,D4
  2733.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2734.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2735.     SUBQ.L    #1,A2
  2736.     MOVE.W    (A2)+,D1
  2737.     IF    DEEBUG
  2738.     BRA    DEBUG
  2739.     ELSE
  2740.     JMP    ([A3,D1.W*4])
  2741.     ENDIF
  2742.  
  2743. MAIN99:                ; SBC A,C
  2744.     ORI.B    #$04,D4        ; SET Z FLG
  2745.     MOVE.W    D4,CCR
  2746.     SUBX.B    D3,D0
  2747.     MOVE.W    CCR,D4
  2748.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2749.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2750.     SUBQ.L    #1,A2
  2751.     MOVE.W    (A2)+,D1
  2752.     IF    DEEBUG
  2753.     BRA    DEBUG
  2754.     ELSE
  2755.     JMP    ([A3,D1.W*4])
  2756.     ENDIF
  2757.  
  2758. MAIN9A:                ; SBC A,D
  2759.     ORI.B    #$04,D4        ; SET Z FLG
  2760.     MOVE.L    D3,D1
  2761.     ROL.L    #8,D1
  2762.     MOVE.W    D4,CCR
  2763.     SUBX.B    D1,D0
  2764.     MOVE.W    CCR,D4
  2765.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2766.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2767.     SUBQ.L    #1,A2
  2768.     MOVE.W    (A2)+,D1
  2769.     IF    DEEBUG
  2770.     BRA    DEBUG
  2771.     ELSE
  2772.     JMP    ([A3,D1.W*4])
  2773.     ENDIF
  2774.  
  2775. MAIN9B:                ; SBC A,E
  2776.     ORI.B    #$04,D4        ; SET Z FLG
  2777.     MOVE.L    D3,D1
  2778.     SWAP    D1
  2779.     MOVE.W    D4,CCR
  2780.     SUBX.B    D1,D0
  2781.     MOVE.W    CCR,D4
  2782.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2783.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2784.     SUBQ.L    #1,A2
  2785.     MOVE.W    (A2)+,D1
  2786.     IF    DEEBUG
  2787.     BRA    DEBUG
  2788.     ELSE
  2789.     JMP    ([A3,D1.W*4])
  2790.     ENDIF
  2791.  
  2792. MAIN9C:                ; SBC A,H
  2793.     ORI.B    #$04,D4        ; SET Z FLG
  2794.     MOVE.W    D2,D1
  2795.     ROL.W    #8,D1
  2796.     MOVE.W    D4,CCR
  2797.     SUBX.B    D1,D0
  2798.     MOVE.W    CCR,D4
  2799.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2800.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2801.     SUBQ.L    #1,A2
  2802.     MOVE.W    (A2)+,D1
  2803.     IF    DEEBUG
  2804.     BRA    DEBUG
  2805.     ELSE
  2806.     JMP    ([A3,D1.W*4])
  2807.     ENDIF
  2808.  
  2809. MAIN9D:                ; SBC A,L
  2810.     ORI.B    #$04,D4        ; SET Z FLG
  2811.     MOVE.W    D4,CCR
  2812.     SUBX.B    D2,D0
  2813.     MOVE.W    CCR,D4
  2814.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2815.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2816.     SUBQ.L    #1,A2
  2817.     MOVE.W    (A2)+,D1
  2818.     IF    DEEBUG
  2819.     BRA    DEBUG
  2820.     ELSE
  2821.     JMP    ([A3,D1.W*4])
  2822.     ENDIF
  2823.  
  2824. MAIN9E:                ; SBC A,(HL)
  2825.     ORI.B    #$04,D4        ; SET Z FLG
  2826.     MOVEQ    #0,D1
  2827.     MOVE.W    D2,D1
  2828.     MOVE.B    (A0,D1.L),D7
  2829.     MOVE.W    D4,CCR
  2830.     SUBX.B    D7,D0
  2831.     MOVE.W    CCR,D4
  2832.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2833.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2834.     SUBQ.L    #1,A2
  2835.     MOVE.W    (A2)+,D1
  2836.     IF    DEEBUG
  2837.     BRA    DEBUG
  2838.     ELSE
  2839.     JMP    ([A3,D1.W*4])
  2840.     ENDIF
  2841.  
  2842. MAIN9F:                ; SBC A,A
  2843.     ORI.B    #$04,D4        ; SET Z FLG
  2844.     MOVE.W    D4,CCR
  2845.     SUBX.B    D0,D0        
  2846.     MOVE.W    CCR,D4
  2847.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  2848.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  2849.     SUBQ.L    #1,A2
  2850.     MOVE.W    (A2)+,D1
  2851.     IF    DEEBUG
  2852.     BRA    DEBUG
  2853.     ELSE
  2854.     JMP    ([A3,D1.W*4])
  2855.     ENDIF
  2856.  
  2857. MAINA0:                ; AND B
  2858.     MOVE.W    D3,D1
  2859.     ROL.W    #8,D1
  2860.     MOVE.W    D4,CCR
  2861.     AND.B    D1,D0
  2862.     ANDI    #$0F,CCR    ; CLEAR X
  2863.     MOVE.W    CCR,D4
  2864.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  2865.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  2866.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  2867.     SUBQ.L    #1,A2
  2868.     MOVE.W    (A2)+,D1
  2869.     IF    DEEBUG
  2870.     BRA    DEBUG
  2871.     ELSE
  2872.     JMP    ([A3,D1.W*4])
  2873.     ENDIF
  2874.  
  2875. MAINA1:                ; AND C
  2876.     MOVE.W    D4,CCR
  2877.     AND.B    D3,D0
  2878.     ANDI    #$0F,CCR    
  2879.     MOVE.W    CCR,D4
  2880.     ANDI.W    #$00FF,D0    
  2881.     OR.B    (A6,D0.W),D4    
  2882.     MOVE.B    #$10,D5        
  2883.     SUBQ.L    #1,A2
  2884.     MOVE.W    (A2)+,D1
  2885.     IF    DEEBUG
  2886.     BRA    DEBUG
  2887.     ELSE
  2888.     JMP    ([A3,D1.W*4])
  2889.     ENDIF
  2890.  
  2891. MAINA2:                ; AND D
  2892.     MOVE.L    D3,D1
  2893.     ROL.L    #8,D1
  2894.     MOVE.W    D4,CCR
  2895.     AND.B    D1,D0
  2896.     ANDI    #$0F,CCR    
  2897.     MOVE.W    CCR,D4
  2898.     ANDI.W    #$00FF,D0    
  2899.     OR.B    (A6,D0.W),D4    
  2900.     MOVE.B    #$10,D5        
  2901.     SUBQ.L    #1,A2
  2902.     MOVE.W    (A2)+,D1
  2903.     IF    DEEBUG
  2904.     BRA    DEBUG
  2905.     ELSE
  2906.     JMP    ([A3,D1.W*4])
  2907.     ENDIF
  2908.  
  2909. MAINA3:                ; AND E
  2910.     MOVE.L    D3,D1
  2911.     SWAP    D1
  2912.     MOVE.W    D4,CCR
  2913.     AND.B    D1,D0
  2914.     ANDI    #$0F,CCR    
  2915.     MOVE.W    CCR,D4
  2916.     ANDI.W    #$00FF,D0    
  2917.     OR.B    (A6,D0.W),D4    
  2918.     MOVE.B    #$10,D5        
  2919.     SUBQ.L    #1,A2
  2920.     MOVE.W    (A2)+,D1
  2921.     IF    DEEBUG
  2922.     BRA    DEBUG
  2923.     ELSE
  2924.     JMP    ([A3,D1.W*4])
  2925.     ENDIF
  2926.  
  2927. MAINA4:                ; AND H
  2928.     MOVE.W    D2,D1
  2929.     ROL.W    #8,D1
  2930.     MOVE.W    D4,CCR
  2931.     AND.B    D1,D0
  2932.     ANDI    #$0F,CCR    
  2933.     MOVE.W    CCR,D4
  2934.     ANDI.W    #$00FF,D0    
  2935.     OR.B    (A6,D0.W),D4    
  2936.     MOVE.B    #$10,D5        
  2937.     SUBQ.L    #1,A2
  2938.     MOVE.W    (A2)+,D1
  2939.     IF    DEEBUG
  2940.     BRA    DEBUG
  2941.     ELSE
  2942.     JMP    ([A3,D1.W*4])
  2943.     ENDIF
  2944.  
  2945. MAINA5:                ; AND L
  2946.     MOVE.W    D4,CCR
  2947.     AND.B    D2,D0
  2948.     ANDI    #$0F,CCR    
  2949.     MOVE.W    CCR,D4
  2950.     ANDI.W    #$00FF,D0    
  2951.     OR.B    (A6,D0.W),D4    
  2952.     MOVE.B    #$10,D5        
  2953.     SUBQ.L    #1,A2
  2954.     MOVE.W    (A2)+,D1
  2955.     IF    DEEBUG
  2956.     BRA    DEBUG
  2957.     ELSE
  2958.     JMP    ([A3,D1.W*4])
  2959.     ENDIF
  2960.  
  2961. MAINA6:                ; AND (HL)
  2962.     MOVEQ    #0,D1
  2963.     MOVE.W    D2,D1
  2964.     MOVE.W    D4,CCR
  2965.     AND.B    (A0,D1.L),D0
  2966.     ANDI    #$0F,CCR    
  2967.     MOVE.W    CCR,D4
  2968.     ANDI.W    #$00FF,D0    
  2969.     OR.B    (A6,D0.W),D4    
  2970.     MOVE.B    #$10,D5        
  2971.     SUBQ.L    #1,A2
  2972.     MOVE.W    (A2)+,D1
  2973.     IF    DEEBUG
  2974.     BRA    DEBUG
  2975.     ELSE
  2976.     JMP    ([A3,D1.W*4])
  2977.     ENDIF
  2978.  
  2979. MAINA7:                ; AND A
  2980.     MOVE.W    D4,CCR
  2981.     AND.B    D0,D0
  2982.     ANDI    #$0F,CCR    
  2983.     MOVE.W    CCR,D4
  2984.     ANDI.W    #$00FF,D0    
  2985.     OR.B    (A6,D0.W),D4    
  2986.     MOVE.B    #$10,D5        
  2987.     SUBQ.L    #1,A2
  2988.     MOVE.W    (A2)+,D1
  2989.     IF    DEEBUG
  2990.     BRA    DEBUG
  2991.     ELSE
  2992.     JMP    ([A3,D1.W*4])
  2993.     ENDIF
  2994.  
  2995. MAINA8:                ; XOR B
  2996.     MOVE.W    D3,D1
  2997.     ROL.W    #8,D1
  2998.     MOVE.W    D4,CCR
  2999.     EOR.B    D1,D0
  3000.     ANDI    #$0F,CCR    ; CLEAR X
  3001.     MOVE.W    CCR,D4
  3002.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  3003.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  3004.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  3005.     SUBQ.L    #1,A2
  3006.     MOVE.W    (A2)+,D1
  3007.     IF    DEEBUG
  3008.     BRA    DEBUG
  3009.     ELSE
  3010.     JMP    ([A3,D1.W*4])
  3011.     ENDIF
  3012.  
  3013. MAINA9:                ; XOR C
  3014.     MOVE.W    D4,CCR
  3015.     EOR.B    D3,D0
  3016.     ANDI    #$0F,CCR    
  3017.     MOVE.W    CCR,D4
  3018.     ANDI.W    #$00FF,D0
  3019.     OR.B    (A6,D0.W),D4
  3020.     MOVEQ.B    #0,D5
  3021.     SUBQ.L    #1,A2
  3022.     MOVE.W    (A2)+,D1
  3023.     IF    DEEBUG
  3024.     BRA    DEBUG
  3025.     ELSE
  3026.     JMP    ([A3,D1.W*4])
  3027.     ENDIF
  3028.  
  3029. MAINAA:                ; XOR D
  3030.     MOVE.L    D3,D1
  3031.     ROL.L    #8,D1
  3032.     MOVE.W    D4,CCR
  3033.     EOR.B    D1,D0
  3034.     ANDI    #$0F,CCR    
  3035.     MOVE.W    CCR,D4
  3036.     ANDI.W    #$00FF,D0
  3037.     OR.B    (A6,D0.W),D4
  3038.     MOVEQ.B    #0,D5
  3039.     SUBQ.L    #1,A2
  3040.     MOVE.W    (A2)+,D1
  3041.     IF    DEEBUG
  3042.     BRA    DEBUG
  3043.     ELSE
  3044.     JMP    ([A3,D1.W*4])
  3045.     ENDIF
  3046.  
  3047. MAINAB:                ; XOR E
  3048.     MOVE.L    D3,D1
  3049.     SWAP    D1
  3050.     MOVE.W    D4,CCR
  3051.     EOR.B    D1,D0
  3052.     ANDI    #$0F,CCR    
  3053.     MOVE.W    CCR,D4
  3054.     ANDI.W    #$00FF,D0
  3055.     OR.B    (A6,D0.W),D4
  3056.     MOVEQ.B    #0,D5
  3057.     SUBQ.L    #1,A2
  3058.     MOVE.W    (A2)+,D1
  3059.     IF    DEEBUG
  3060.     BRA    DEBUG
  3061.     ELSE
  3062.     JMP    ([A3,D1.W*4])
  3063.     ENDIF
  3064.  
  3065. MAINAC:                ; XOR H
  3066.     MOVE.W    D2,D1
  3067.     ROL.W    #8,D1
  3068.     MOVE.W    D4,CCR
  3069.     EOR.B    D1,D0
  3070.     ANDI    #$0F,CCR    
  3071.     MOVE.W    CCR,D4
  3072.     ANDI.W    #$00FF,D0
  3073.     OR.B    (A6,D0.W),D4
  3074.     MOVEQ.B    #0,D5
  3075.     SUBQ.L    #1,A2
  3076.     MOVE.W    (A2)+,D1
  3077.     IF    DEEBUG
  3078.     BRA    DEBUG
  3079.     ELSE
  3080.     JMP    ([A3,D1.W*4])
  3081.     ENDIF
  3082.  
  3083. MAINAD:                ; XOR L
  3084.     MOVE.W    D4,CCR
  3085.     EOR.B    D2,D0
  3086.     ANDI    #$0F,CCR    
  3087.     MOVE.W    CCR,D4
  3088.     ANDI.W    #$00FF,D0
  3089.     OR.B    (A6,D0.W),D4
  3090.     MOVEQ.B    #0,D5
  3091.     SUBQ.L    #1,A2
  3092.     MOVE.W    (A2)+,D1
  3093.     IF    DEEBUG
  3094.     BRA    DEBUG
  3095.     ELSE
  3096.     JMP    ([A3,D1.W*4])
  3097.     ENDIF
  3098.  
  3099. MAINAE:                ; XOR (HL)
  3100.     MOVEQ    #0,D1
  3101.     MOVE.W    D2,D1
  3102.     MOVE.B    (A0,D1.L),D7
  3103.     MOVE.W    D4,CCR
  3104.     EOR.B    D7,D0
  3105.     ANDI    #$0F,CCR    
  3106.     MOVE.W    CCR,D4
  3107.     ANDI.W    #$00FF,D0
  3108.     OR.B    (A6,D0.W),D4
  3109.     MOVEQ.B    #0,D5
  3110.     SUBQ.L    #1,A2
  3111.     MOVE.W    (A2)+,D1
  3112.     IF    DEEBUG
  3113.     BRA    DEBUG
  3114.     ELSE
  3115.     JMP    ([A3,D1.W*4])
  3116.     ENDIF
  3117.  
  3118. MAINAF:                ; XOR A
  3119.     MOVE.W    D4,CCR
  3120.     EOR.B    D0,D0
  3121.     ANDI    #$0F,CCR    
  3122.     MOVE.W    CCR,D4
  3123.     ANDI.W    #$00FF,D0
  3124.     OR.B    (A6,D0.W),D4
  3125.     MOVEQ.B    #0,D5
  3126.     SUBQ.L    #1,A2
  3127.     MOVE.W    (A2)+,D1
  3128.     IF    DEEBUG
  3129.     BRA    DEBUG
  3130.     ELSE
  3131.     JMP    ([A3,D1.W*4])
  3132.     ENDIF
  3133.  
  3134. MAINB0:                ; OR B
  3135.     MOVE.W    D3,D1
  3136.     ROL.W    #8,D1        ; CONDITION FLAGS SAME AS XOR
  3137.     MOVE.W    D4,CCR
  3138.     OR.B    D1,D0
  3139.     ANDI    #$0F,CCR    
  3140.     MOVE.W    CCR,D4
  3141.     ANDI.W    #$00FF,D0
  3142.     OR.B    (A6,D0.W),D4
  3143.     MOVEQ.B    #0,D5
  3144.     SUBQ.L    #1,A2
  3145.     MOVE.W    (A2)+,D1
  3146.     IF    DEEBUG
  3147.     BRA    DEBUG
  3148.     ELSE
  3149.     JMP    ([A3,D1.W*4])
  3150.     ENDIF
  3151.  
  3152. MAINB1:                ; OR C
  3153.     MOVE.W    D4,CCR
  3154.     OR.B    D3,D0
  3155.     ANDI    #$0F,CCR    
  3156.     MOVE.W    CCR,D4
  3157.     ANDI.W    #$00FF,D0
  3158.     OR.B    (A6,D0.W),D4
  3159.     MOVEQ.B    #0,D5
  3160.     SUBQ.L    #1,A2
  3161.     MOVE.W    (A2)+,D1
  3162.     IF    DEEBUG
  3163.     BRA    DEBUG
  3164.     ELSE
  3165.     JMP    ([A3,D1.W*4])
  3166.     ENDIF
  3167.  
  3168. MAINB2:                ; OR D
  3169.     MOVE.L    D3,D1
  3170.     ROL.L    #8,D1
  3171.     MOVE.W    D4,CCR
  3172.     OR.B    D1,D0
  3173.     ANDI    #$0F,CCR    
  3174.     MOVE.W    CCR,D4
  3175.     ANDI.W    #$00FF,D0
  3176.     OR.B    (A6,D0.W),D4
  3177.     MOVEQ.B    #0,D5
  3178.     SUBQ.L    #1,A2
  3179.     MOVE.W    (A2)+,D1
  3180.     IF    DEEBUG
  3181.     BRA    DEBUG
  3182.     ELSE
  3183.     JMP    ([A3,D1.W*4])
  3184.     ENDIF
  3185.  
  3186. MAINB3:                ; OR E
  3187.     MOVE.L    D3,D1
  3188.     SWAP    D1
  3189.     MOVE.W    D4,CCR
  3190.     OR.B    D1,D0
  3191.     ANDI    #$0F,CCR    
  3192.     MOVE.W    CCR,D4
  3193.     ANDI.W    #$00FF,D0
  3194.     OR.B    (A6,D0.W),D4
  3195.     MOVEQ.B    #0,D5
  3196.     SUBQ.L    #1,A2
  3197.     MOVE.W    (A2)+,D1
  3198.     IF    DEEBUG
  3199.     BRA    DEBUG
  3200.     ELSE
  3201.     JMP    ([A3,D1.W*4])
  3202.     ENDIF
  3203.  
  3204. MAINB4:                ; OR H
  3205.     MOVE.W    D2,D1
  3206.     ROL.W    #8,D1
  3207.     MOVE.W    D4,CCR
  3208.     OR.B    D1,D0
  3209.     ANDI    #$0F,CCR    
  3210.     MOVE.W    CCR,D4
  3211.     ANDI.W    #$00FF,D0
  3212.     OR.B    (A6,D0.W),D4
  3213.     MOVEQ.B    #0,D5
  3214.     SUBQ.L    #1,A2
  3215.     MOVE.W    (A2)+,D1
  3216.     IF    DEEBUG
  3217.     BRA    DEBUG
  3218.     ELSE
  3219.     JMP    ([A3,D1.W*4])
  3220.     ENDIF
  3221.  
  3222. MAINB5:                ; OR L
  3223.     MOVE.W    D4,CCR
  3224.     OR.B    D2,D0
  3225.     ANDI    #$0F,CCR    
  3226.     MOVE.W    CCR,D4
  3227.     ANDI.W    #$00FF,D0
  3228.     OR.B    (A6,D0.W),D4
  3229.     MOVEQ.B    #0,D5
  3230.     SUBQ.L    #1,A2
  3231.     MOVE.W    (A2)+,D1
  3232.     IF    DEEBUG
  3233.     BRA    DEBUG
  3234.     ELSE
  3235.     JMP    ([A3,D1.W*4])
  3236.     ENDIF
  3237.  
  3238. MAINB6:                ; OR (HL)
  3239.     MOVEQ    #0,D1
  3240.     MOVE.W    D2,D1
  3241.     MOVE.W    D4,CCR
  3242.     OR.B    (A0,D1.L),D0
  3243.     ANDI    #$0F,CCR    
  3244.     MOVE.W    CCR,D4
  3245.     ANDI.W    #$00FF,D0
  3246.     OR.B    (A6,D0.W),D4
  3247.     MOVEQ.B    #0,D5
  3248.     SUBQ.L    #1,A2
  3249.     MOVE.W    (A2)+,D1
  3250.     IF    DEEBUG
  3251.     BRA    DEBUG
  3252.     ELSE
  3253.     JMP    ([A3,D1.W*4])
  3254.     ENDIF
  3255.  
  3256. MAINB7:                ; OR A
  3257.     MOVE.W    D4,CCR
  3258.     OR.B    D0,D0
  3259.     ANDI    #$0F,CCR    
  3260.     MOVE.W    CCR,D4
  3261.     ANDI.W    #$00FF,D0
  3262.     OR.B    (A6,D0.W),D4
  3263.     MOVEQ.B    #0,D5
  3264.     SUBQ.L    #1,A2
  3265.     MOVE.W    (A2)+,D1
  3266.     IF    DEEBUG
  3267.     BRA    DEBUG
  3268.     ELSE
  3269.     JMP    ([A3,D1.W*4])
  3270.     ENDIF
  3271.  
  3272. MAINB8:                ; CP B
  3273.     MOVE.B    D0,D6
  3274.     MOVE.W    D3,D1
  3275.     ROL.W    #8,D1
  3276.     MOVE.W    D4,CCR
  3277.     SUB.B    D1,D6
  3278.     MOVE.W    CCR,D4
  3279.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3280.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3281.     SUBQ.L    #1,A2
  3282.     MOVE.W    (A2)+,D1
  3283.     IF    DEEBUG
  3284.     BRA    DEBUG
  3285.     ELSE
  3286.     JMP    ([A3,D1.W*4])
  3287.     ENDIF
  3288.  
  3289. MAINB9:                ; CP C
  3290.     MOVE.B    D0,D6
  3291.     MOVE.W    D4,CCR
  3292.     SUB.B    D3,D6
  3293.     MOVE.W    CCR,D4
  3294.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3295.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3296.     SUBQ.L    #1,A2
  3297.     MOVE.W    (A2)+,D1
  3298.     IF    DEEBUG
  3299.     BRA    DEBUG
  3300.     ELSE
  3301.     JMP    ([A3,D1.W*4])
  3302.     ENDIF
  3303.  
  3304. MAINBA:                ; CP D
  3305.     MOVE.B    D0,D6
  3306.     MOVE.L    D3,D1
  3307.     ROL.L    #8,D1
  3308.     MOVE.W    D4,CCR
  3309.     SUB.B    D1,D6
  3310.     MOVE.W    CCR,D4
  3311.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3312.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3313.     SUBQ.L    #1,A2
  3314.     MOVE.W    (A2)+,D1
  3315.     IF    DEEBUG
  3316.     BRA    DEBUG
  3317.     ELSE
  3318.     JMP    ([A3,D1.W*4])
  3319.     ENDIF
  3320.  
  3321. MAINBB:                ; CP E
  3322.     MOVE.B    D0,D6
  3323.     MOVE.L    D3,D1
  3324.     SWAP    D1
  3325.     MOVE.W    D4,CCR
  3326.     SUB.B    D1,D6
  3327.     MOVE.W    CCR,D4
  3328.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3329.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3330.     SUBQ.L    #1,A2
  3331.     MOVE.W    (A2)+,D1
  3332.     IF    DEEBUG
  3333.     BRA    DEBUG
  3334.     ELSE
  3335.     JMP    ([A3,D1.W*4])
  3336.     ENDIF
  3337.  
  3338. MAINBC:                ; CP H
  3339.     MOVE.B    D0,D6
  3340.     MOVE.W    D2,D1
  3341.     ROL.W    #8,D1
  3342.     MOVE.W    D4,CCR
  3343.     SUB.B    D1,D6
  3344.     MOVE.W    CCR,D4
  3345.     ANDI.W    #$00FF,D6    ; EXT D0 FOR INDEX INTO SUB TABLE
  3346.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3347.     SUBQ.L    #1,A2
  3348.     MOVE.W    (A2)+,D1
  3349.     IF    DEEBUG
  3350.     BRA    DEBUG
  3351.     ELSE
  3352.     JMP    ([A3,D1.W*4])
  3353.     ENDIF
  3354.  
  3355. MAINBD:                ; CP L
  3356.     MOVE.B    D0,D6
  3357.     MOVE.W    D4,CCR
  3358.     SUB.B    D2,D6
  3359.     MOVE.W    CCR,D4
  3360.     ANDI.W    #$00FF,D6    ; EXT D0 FOR INDEX INTO SUB TABLE
  3361.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3362.     SUBQ.L    #1,A2
  3363.     MOVE.W    (A2)+,D1
  3364.     IF    DEEBUG
  3365.     BRA    DEBUG
  3366.     ELSE
  3367.     JMP    ([A3,D1.W*4])
  3368.     ENDIF
  3369.  
  3370. MAINBE:                ; CP (HL)
  3371.     MOVE.B    D0,D6
  3372.     MOVEQ    #0,D1
  3373.     MOVE.W    D2,D1
  3374.     MOVE.W    D4,CCR
  3375.     SUB.B    (A0,D1.L),D6
  3376.     MOVE.W    CCR,D4
  3377.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3378.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3379.     SUBQ.L    #1,A2
  3380.     MOVE.W    (A2)+,D1
  3381.     IF    DEEBUG
  3382.     BRA    DEBUG
  3383.     ELSE
  3384.     JMP    ([A3,D1.W*4])
  3385.     ENDIF
  3386.  
  3387. MAINBF:                ; CP A
  3388.     MOVE.B    D0,D6
  3389.     MOVE.W    D4,CCR
  3390.     SUB.B    D0,D6
  3391.     MOVE.W    CCR,D4
  3392.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  3393.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3394.     SUBQ.L    #1,A2
  3395.     MOVE.W    (A2)+,D1
  3396.     IF    DEEBUG
  3397.     BRA    DEBUG
  3398.     ELSE
  3399.     JMP    ([A3,D1.W*4])
  3400.     ENDIF
  3401.  
  3402. MAINC0:                ; RET NZ
  3403.     MOVE.W    D4,CCR
  3404.     BEQ.B    C01
  3405.     MOVEQ    #0,D7
  3406.     MOVE.W    (A4)+,D7
  3407.     ROL.W    #8,D7
  3408.     MOVE.L    A0,A2
  3409.     ADDA.L    D7,A2
  3410.     MOVE.W    (A2)+,D1
  3411.     IF    DEEBUG
  3412.     BRA    DEBUG
  3413.     ELSE
  3414.     JMP    ([A3,D1.W*4])
  3415.     ENDIF
  3416.  
  3417. C01:    SUBQ.L    #1,A2
  3418.     MOVE.W    (A2)+,D1
  3419.     IF    DEEBUG
  3420.     BRA    DEBUG
  3421.     ELSE
  3422.     JMP    ([A3,D1.W*4])
  3423.     ENDIF
  3424.  
  3425. MAINC1:                ; POP BC
  3426.     ROL.W    #8,D3
  3427.     MOVE.W    (A4)+,D3
  3428.     ROL.W    #8,D3
  3429.     SUBQ.L    #1,A2
  3430.     MOVE.W    (A2)+,D1
  3431.     IF    DEEBUG
  3432.     BRA    DEBUG
  3433.     ELSE
  3434.     JMP    ([A3,D1.W*4])
  3435.     ENDIF
  3436.  
  3437. MAINC2:                ; JP NZ,XXXX
  3438.     ROL.W    #8,D1
  3439.     MOVE.B    (A2)+,D1
  3440.     ROL.W    #8,D1
  3441.     MOVE.W    D4,CCR
  3442.     BEQ.B    C21
  3443.     MOVEQ    #0,D7
  3444.     MOVE.W    D1,D7
  3445.     MOVE.L    A0,A2
  3446.     ADDA.L    D7,A2
  3447.     MOVE.W    (A2)+,D1
  3448.     IF    DEEBUG
  3449.     BRA    DEBUG
  3450.     ELSE
  3451.     JMP    ([A3,D1.W*4])
  3452.     ENDIF
  3453.  
  3454. C21:    MOVE.W    (A2)+,D1
  3455.     IF    DEEBUG
  3456.     BRA    DEBUG
  3457.     ELSE
  3458.     JMP    ([A3,D1.W*4])
  3459.     ENDIF
  3460.  
  3461. MAINC3:                ; JP XXXX
  3462.     ROL.W    #8,D1
  3463.     MOVE.B    (A2)+,D1
  3464.     ROL.W    #8,D1
  3465.     MOVEQ    #0,D7
  3466.     MOVE.W    D1,D7
  3467.     MOVE.L    A0,A2
  3468.     ADDA.L    D7,A2
  3469.     MOVE.W    (A2)+,D1
  3470.     IF    DEEBUG
  3471.     BRA    DEBUG
  3472.     ELSE
  3473.     JMP    ([A3,D1.W*4])
  3474.     ENDIF
  3475.  
  3476. MAINC4:                ; CALL NZ,XXXX
  3477.     ROL.W    #8,D1
  3478.     MOVE.B    (A2)+,D1
  3479.     ROL.W    #8,D1
  3480.     MOVE.W    D4,CCR
  3481.     BEQ.B    C41
  3482.     SUBA.L    A0,A2
  3483.     MOVE.L    A2,D7
  3484.     ROL.W    #8,D7
  3485.     MOVE.W    D7,-(A4)
  3486.     MOVE.L    A0,A2
  3487.     MOVE.W    D1,D7
  3488.     ADDA.L    D7,A2
  3489.     MOVE.W    (A2)+,D1
  3490.     IF    DEEBUG
  3491.     BRA    DEBUG
  3492.     ELSE
  3493.     JMP    ([A3,D1.W*4])
  3494.     ENDIF
  3495.  
  3496. C41:    MOVE.W    (A2)+,D1
  3497.     IF    DEEBUG
  3498.     BRA    DEBUG
  3499.     ELSE
  3500.     JMP    ([A3,D1.W*4])
  3501.     ENDIF
  3502.  
  3503. MAINC5:                ; PUSH BC
  3504.     ROL.W    #8,D3
  3505.     MOVE.W    D3,-(A4)
  3506.     ROL.W    #8,D3
  3507.     SUBQ.L    #1,A2
  3508.     MOVE.W    (A2)+,D1
  3509.     IF    DEEBUG
  3510.     BRA    DEBUG
  3511.     ELSE
  3512.     JMP    ([A3,D1.W*4])
  3513.     ENDIF
  3514.  
  3515. MAINC6:                ; ADD A,X
  3516.     MOVE.W    D4,CCR
  3517.     ADD.B    D1,D0
  3518.     MOVE.W    CCR,D4
  3519.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  3520.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  3521.     MOVE.W    (A2)+,D1
  3522.     IF    DEEBUG
  3523.     BRA    DEBUG
  3524.     ELSE
  3525.     JMP    ([A3,D1.W*4])
  3526.     ENDIF
  3527.  
  3528. MAINC7:                ; RST 00
  3529.     SUBQ.L    #1,A2
  3530.     SUBA.L    A0,A2
  3531.     MOVE.W    A2,D7
  3532.     ROL.W    #8,D7
  3533.     MOVE.W    D7,-(A4)
  3534.     MOVE.L    A0,A2
  3535.     MOVE.W    (A2)+,D1
  3536.     IF    DEEBUG
  3537.     BRA    DEBUG
  3538.     ELSE
  3539.     JMP    ([A3,D1.W*4])
  3540.     ENDIF
  3541.  
  3542. MAINC8:                ; RET Z
  3543.     MOVE.W    D4,CCR
  3544.     BNE.B    C81
  3545.     MOVEQ    #0,D7
  3546.     MOVE.W    (A4)+,D7
  3547.     ROL.W    #8,D7
  3548.     MOVE.L    A0,A2
  3549.     ADDA.L    D7,A2
  3550.     MOVE.W    (A2)+,D1
  3551.     IF    DEEBUG
  3552.     BRA    DEBUG
  3553.     ELSE
  3554.     JMP    ([A3,D1.W*4])
  3555.     ENDIF
  3556.  
  3557. C81:    SUBQ.L    #1,A2
  3558.     MOVE.W    (A2)+,D1
  3559.     IF    DEEBUG
  3560.     BRA    DEBUG
  3561.     ELSE
  3562.     JMP    ([A3,D1.W*4])
  3563.     ENDIF
  3564.  
  3565. MAINC9:                ; RET
  3566.     MOVEQ    #0,D7
  3567.     MOVE.W    (A4)+,D7
  3568.     ROL.W    #8,D7
  3569.     MOVE.L    A0,A2
  3570.     ADDA.L    D7,A2
  3571.     MOVE.W    (A2)+,D1
  3572.     IF    DEEBUG
  3573.     BRA    DEBUG
  3574.     ELSE
  3575.     JMP    ([A3,D1.W*4])
  3576.     ENDIF
  3577.  
  3578. MAINCA:                ; JP Z,XXXX
  3579.     ROL.W    #8,D1
  3580.     MOVE.B    (A2)+,D1
  3581.     ROL.W    #8,D1
  3582.     MOVE.W    D4,CCR
  3583.     BNE.B    CA1
  3584.     MOVEQ    #0,D7
  3585.     MOVE.W    D1,D7
  3586.     MOVE.L    A0,A2
  3587.     ADDA.L    D7,A2
  3588.     MOVE.W    (A2)+,D1
  3589.     IF    DEEBUG
  3590.     BRA    DEBUG
  3591.     ELSE
  3592.     JMP    ([A3,D1.W*4])
  3593.     ENDIF
  3594.  
  3595. CA1:    MOVE.W    (A2)+,D1
  3596.     IF    DEEBUG
  3597.     BRA    DEBUG
  3598.     ELSE
  3599.     JMP    ([A3,D1.W*4])
  3600.     ENDIF
  3601.  
  3602. MAINCC:                ; CALL Z,XXXX
  3603.     ROL.W    #8,D1
  3604.     MOVE.B    (A2)+,D1
  3605.     ROL.W    #8,D1
  3606.     MOVE.W    D4,CCR
  3607.     BNE.B    CC1
  3608.     SUBA.L    A0,A2
  3609.     MOVE.L    A2,D7
  3610.     ROL.W    #8,D7
  3611.     MOVE.W    D7,-(A4)
  3612.     MOVE.L    A0,A2
  3613.     MOVE.W    D1,D7
  3614.     ADDA.L    D7,A2
  3615.     MOVE.W    (A2)+,D1
  3616.     IF    DEEBUG
  3617.     BRA    DEBUG
  3618.     ELSE
  3619.     JMP    ([A3,D1.W*4])
  3620.     ENDIF
  3621.  
  3622. CC1:    MOVE.W    (A2)+,D1
  3623.     IF    DEEBUG
  3624.     BRA    DEBUG
  3625.     ELSE
  3626.     JMP    ([A3,D1.W*4])
  3627.     ENDIF
  3628.  
  3629. MAINCD:                ; CALL XXXX
  3630.     ROL.W    #8,D1
  3631.     MOVE.B    (A2)+,D1
  3632.     ROL.W    #8,D1
  3633.     SUBA.L    A0,A2
  3634.     MOVE.L    A2,D7
  3635.     ROL.W    #8,D7
  3636.     MOVE.W    D7,-(A4)
  3637.     MOVE.L    A0,A2
  3638.     MOVE.W    D1,D7
  3639.     ADDA.L    D7,A2
  3640.     MOVE.W    (A2)+,D1
  3641.     IF    DEEBUG
  3642.     BRA    DEBUG
  3643.     ELSE
  3644.     JMP    ([A3,D1.W*4])
  3645.     ENDIF
  3646.  
  3647. MAINCE:                ; ADC A,X
  3648.     ORI.B    #4,D4
  3649.     MOVE.W    D4,CCR
  3650.     ADDX.B    D1,D0
  3651.     MOVE.W    CCR,D4
  3652.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO ADD TABLE
  3653.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  3654.     MOVE.W    (A2)+,D1
  3655.     IF    DEEBUG
  3656.     BRA    DEBUG
  3657.     ELSE
  3658.     JMP    ([A3,D1.W*4])
  3659.     ENDIF
  3660.  
  3661. MAINCF:                ; RST 08
  3662.     SUBQ.L    #1,A2
  3663.     SUBA.L    A0,A2
  3664.     MOVE.W    A2,D7
  3665.     ROL.W    #8,D7
  3666.     MOVE.W    D7,-(A4)
  3667.     MOVE.L    A0,A2
  3668.     ADDA.L    #8,A2
  3669.     MOVE.W    (A2)+,D1
  3670.     IF    DEEBUG
  3671.     BRA    DEBUG
  3672.     ELSE
  3673.     JMP    ([A3,D1.W*4])
  3674.     ENDIF
  3675.  
  3676. MAIND0:                ; RET NC
  3677.     MOVE.W    D4,CCR
  3678.     BCS.B    D01
  3679.     MOVEQ    #0,D7
  3680.     MOVE.W    (A4)+,D7
  3681.     ROL.W    #8,D7
  3682.     MOVE.L    A0,A2
  3683.     ADDA.L    D7,A2
  3684.     MOVE.W    (A2)+,D1
  3685.     IF    DEEBUG
  3686.     BRA    DEBUG
  3687.     ELSE
  3688.     JMP    ([A3,D1.W*4])
  3689.     ENDIF
  3690.  
  3691. D01:    SUBQ.L    #1,A2
  3692.     MOVE.W    (A2)+,D1
  3693.     IF    DEEBUG
  3694.     BRA    DEBUG
  3695.     ELSE
  3696.     JMP    ([A3,D1.W*4])
  3697.     ENDIF
  3698.  
  3699. MAIND1:                ; POP DE
  3700.     SWAP    D3
  3701.     ROL.W    #8,D3
  3702.     MOVE.W    (A4)+,D3
  3703.     ROL.W    #8,D3
  3704.     SWAP    D3
  3705.     SUBQ.L    #1,A2
  3706.     MOVE.W    (A2)+,D1
  3707.     IF    DEEBUG
  3708.     BRA    DEBUG
  3709.     ELSE
  3710.     JMP    ([A3,D1.W*4])
  3711.     ENDIF
  3712.  
  3713. MAIND2:                ; JP NC,XXXX
  3714.     ROL.W    #8,D1
  3715.     MOVE.B    (A2)+,D1
  3716.     ROL.W    #8,D1
  3717.     MOVE.W    D4,CCR
  3718.     BCS.B    D21
  3719.     MOVEQ    #0,D7
  3720.     MOVE.W    D1,D7
  3721.     MOVE.L    A0,A2
  3722.     ADDA.L    D7,A2
  3723.     MOVE.W    (A2)+,D1
  3724.     IF    DEEBUG
  3725.     BRA    DEBUG
  3726.     ELSE
  3727.     JMP    ([A3,D1.W*4])
  3728.     ENDIF
  3729.  
  3730. D21:    MOVE.W    (A2)+,D1
  3731.     IF    DEEBUG
  3732.     BRA    DEBUG
  3733.     ELSE
  3734.     JMP    ([A3,D1.W*4])
  3735.     ENDIF
  3736.  
  3737. MAIND3:                ; OUT (N),A  (NOP)
  3738.     MOVE.W    (A2)+,D1
  3739.     IF    DEEBUG
  3740.     BRA    DEBUG
  3741.     ELSE
  3742.     JMP    ([A3,D1.W*4])
  3743.     ENDIF
  3744.  
  3745. MAIND4:                ; CALL NC,XXXX
  3746.     ROL.W    #8,D1
  3747.     MOVE.B    (A2)+,D1
  3748.     ROL.W    #8,D1
  3749.     MOVE.W    D4,CCR
  3750.     BCS.B    D41
  3751.     SUBA.L    A0,A2
  3752.     MOVE.L    A2,D7
  3753.     ROL.W    #8,D7
  3754.     MOVE.W    D7,-(A4)
  3755.     MOVE.L    A0,A2
  3756.     MOVE.W    D1,D7
  3757.     ADDA.L    D7,A2
  3758.     MOVE.W    (A2)+,D1
  3759.     IF    DEEBUG
  3760.     BRA    DEBUG
  3761.     ELSE
  3762.     JMP    ([A3,D1.W*4])
  3763.     ENDIF
  3764.  
  3765. D41:    MOVE.W    (A2)+,D1
  3766.     IF    DEEBUG
  3767.     BRA    DEBUG
  3768.     ELSE
  3769.     JMP    ([A3,D1.W*4])
  3770.     ENDIF
  3771.  
  3772. MAIND5:                ; PUSH DE
  3773.     SWAP    D3
  3774.     ROL.W    #8,D3
  3775.     MOVE.W    D3,-(A4)
  3776.     ROL.W    #8,D3
  3777.     SWAP    D3
  3778.     SUBQ.L    #1,A2
  3779.     MOVE.W    (A2)+,D1
  3780.     IF    DEEBUG
  3781.     BRA    DEBUG
  3782.     ELSE
  3783.     JMP    ([A3,D1.W*4])
  3784.     ENDIF
  3785.  
  3786. MAIND6:                ; SUB X
  3787.     MOVE.W    D4,CCR
  3788.     SUB.B    D1,D0
  3789.     MOVE.W    CCR,D4
  3790.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO SUB TABLE
  3791.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3792.     MOVE.W    (A2)+,D1
  3793.     IF    DEEBUG
  3794.     BRA    DEBUG
  3795.     ELSE
  3796.     JMP    ([A3,D1.W*4])
  3797.     ENDIF
  3798.  
  3799. MAIND7:                ; RST 10
  3800.     SUBQ.L    #1,A2
  3801.     SUBA.L    A0,A2
  3802.     MOVE.W    A2,D7
  3803.     ROL.W    #8,D7
  3804.     MOVE.W    D7,-(A4)
  3805.     MOVE.L    A0,A2
  3806.     ADDA.L    #$10,A2
  3807.     MOVE.W    (A2)+,D1
  3808.     IF    DEEBUG
  3809.     BRA    DEBUG
  3810.     ELSE
  3811.     JMP    ([A3,D1.W*4])
  3812.     ENDIF
  3813.  
  3814. MAIND8:                ; RET C
  3815.     MOVE.W    D4,CCR
  3816.     BCC.B    D81
  3817.     MOVEQ    #0,D7
  3818.     MOVE.W    (A4)+,D7
  3819.     ROL.W    #8,D7
  3820.     MOVE.L    A0,A2
  3821.     ADDA.L    D7,A2
  3822.     MOVE.W    (A2)+,D1
  3823.     IF    DEEBUG
  3824.     BRA    DEBUG
  3825.     ELSE
  3826.     JMP    ([A3,D1.W*4])
  3827.     ENDIF
  3828.  
  3829. D81:    SUBQ.L    #1,A2
  3830.     MOVE.W    (A2)+,D1
  3831.     IF    DEEBUG
  3832.     BRA    DEBUG
  3833.     ELSE
  3834.     JMP    ([A3,D1.W*4])
  3835.     ENDIF
  3836.  
  3837. MAIND9:                ; EXX
  3838.     MOVE.W    D2,HL
  3839.     MOVE.W    D3,BC
  3840.     SWAP    D3
  3841.     MOVE.W    D3,DE
  3842.     MOVE.W    ADE,D3
  3843.     SWAP    D3
  3844.     MOVE.W    ABC,D3
  3845.     MOVE.W    AHL,D2
  3846.     MOVE.W    HL,AHL
  3847.     MOVE.W    BC,ABC
  3848.     MOVE.W    DE,ADE
  3849.     SUBQ.L    #1,A2
  3850.     MOVE.W    (A2)+,D1
  3851.     IF    DEEBUG
  3852.     BRA    DEBUG
  3853.     ELSE
  3854.     JMP    ([A3,D1.W*4])
  3855.     ENDIF
  3856.  
  3857. MAINDA:                ; JP C,XXXX
  3858.     ROL.W    #8,D1
  3859.     MOVE.B    (A2)+,D1
  3860.     ROL.W    #8,D1
  3861.     MOVE.W    D4,CCR
  3862.     BCC.B    DA1
  3863.     MOVEQ    #0,D7
  3864.     MOVE.W    D1,D7
  3865.     MOVE.L    A0,A2
  3866.     ADDA.L    D7,A2
  3867.     MOVE.W    (A2)+,D1
  3868.     IF    DEEBUG
  3869.     BRA    DEBUG
  3870.     ELSE
  3871.     JMP    ([A3,D1.W*4])
  3872.     ENDIF
  3873.  
  3874. DA1:    MOVE.W    (A2)+,D1
  3875.     IF    DEEBUG
  3876.     BRA    DEBUG
  3877.     ELSE
  3878.     JMP    ([A3,D1.W*4])
  3879.     ENDIF
  3880.  
  3881. MAINDB:                ; IN A,(N)  (NOP)
  3882.     MOVEQ    #0,D0
  3883.     MOVE.W    (A2)+,D1
  3884.     IF    DEEBUG
  3885.     BRA    DEBUG
  3886.     ELSE
  3887.     JMP    ([A3,D1.W*4])
  3888.     ENDIF
  3889.  
  3890. MAINDC:                ; CALL C,XXXX
  3891.     ROL.W    #8,D1
  3892.     MOVE.B    (A2)+,D1
  3893.     ROL.W    #8,D1
  3894.     MOVE.W    D4,CCR
  3895.     BCC.B    DC1
  3896.     SUBA.L    A0,A2
  3897.     MOVE.L    A2,D7
  3898.     ROL.W    #8,D7
  3899.     MOVE.W    D7,-(A4)
  3900.     MOVE.L    A0,A2
  3901.     MOVE.W    D1,D7
  3902.     ADDA.L    D7,A2
  3903.     MOVE.W    (A2)+,D1
  3904.     IF    DEEBUG
  3905.     BRA    DEBUG
  3906.     ELSE
  3907.     JMP    ([A3,D1.W*4])
  3908.     ENDIF
  3909.  
  3910. DC1:    MOVE.W    (A2)+,D1
  3911.     IF    DEEBUG
  3912.     BRA    DEBUG
  3913.     ELSE
  3914.     JMP    ([A3,D1.W*4])
  3915.     ENDIF
  3916.  
  3917. MAINDE:                ; SBC A,X
  3918.     MOVE.W    D4,CCR
  3919.     SUBX.B    D1,D0
  3920.     MOVE.W    CCR,D4
  3921.     ANDI.W    #$00FF,D0    ; EXT D7 FOR INDEX INTO SUB TABLE
  3922.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  3923.     MOVE.W    (A2)+,D1
  3924.     IF    DEEBUG
  3925.     BRA    DEBUG
  3926.     ELSE
  3927.     JMP    ([A3,D1.W*4])
  3928.     ENDIF
  3929.  
  3930. MAINDF:                ; RST 18
  3931.     SUBQ.L    #1,A2
  3932.     SUBA.L    A0,A2
  3933.     MOVE.W    A2,D7
  3934.     ROL.W    #8,D7
  3935.     MOVE.W    D7,-(A4)
  3936.     MOVE.L    A0,A2
  3937.     ADDA.L    #$18,A2
  3938.     MOVE.W    (A2)+,D1
  3939.     IF    DEEBUG
  3940.     BRA    DEBUG
  3941.     ELSE
  3942.     JMP    ([A3,D1.W*4])
  3943.     ENDIF
  3944.  
  3945. MAINE0:                ; RET PO
  3946.     MOVE.W    D4,CCR
  3947.     BVS.B    E01
  3948.     MOVEQ    #0,D7
  3949.     MOVE.W    (A4)+,D7
  3950.     ROL.W    #8,D7
  3951.     MOVE.L    A0,A2
  3952.     ADDA.L    D7,A2
  3953.     MOVE.W    (A2)+,D1
  3954.     IF    DEEBUG
  3955.     BRA    DEBUG
  3956.     ELSE
  3957.     JMP    ([A3,D1.W*4])
  3958.     ENDIF
  3959.  
  3960. E01:    SUBQ.L    #1,A2
  3961.     MOVE.W    (A2)+,D1
  3962.     IF    DEEBUG
  3963.     BRA    DEBUG
  3964.     ELSE
  3965.     JMP    ([A3,D1.W*4])
  3966.     ENDIF
  3967.  
  3968. MAINE1:                ; POP HL
  3969.     ROL.W    #8,D2
  3970.     MOVE.W    (A4)+,D2
  3971.     ROL.W    #8,D2
  3972.     SUBQ.L    #1,A2
  3973.     MOVE.W    (A2)+,D1
  3974.     IF    DEEBUG
  3975.     BRA    DEBUG
  3976.     ELSE
  3977.     JMP    ([A3,D1.W*4])
  3978.     ENDIF
  3979.  
  3980. MAINE2:                ; JP PO,XXXX
  3981.     ROL.W    #8,D1
  3982.     MOVE.B    (A2)+,D1
  3983.     ROL.W    #8,D1
  3984.     MOVE.W    D4,CCR
  3985.     BVS.B    E21
  3986.     MOVEQ    #0,D7
  3987.     MOVE.W    D1,D7
  3988.     MOVE.L    A0,A2
  3989.     ADDA.L    D7,A2
  3990.     MOVE.W    (A2)+,D1
  3991.     IF    DEEBUG
  3992.     BRA    DEBUG
  3993.     ELSE
  3994.     JMP    ([A3,D1.W*4])
  3995.     ENDIF
  3996.  
  3997. E21:    MOVE.W    (A2)+,D1
  3998.     IF    DEEBUG
  3999.     BRA    DEBUG
  4000.     ELSE
  4001.     JMP    ([A3,D1.W*4])
  4002.     ENDIF
  4003.  
  4004. MAINE3:                ; EX (SP),HL
  4005.     MOVE.W    D2,D7
  4006.     MOVE.W    (A4),D2
  4007.     ROL.W    #8,D2
  4008.     ROL.W    #8,D7
  4009.     MOVE.W    D7,(A4)
  4010.     SUBQ.L    #1,A2
  4011.     MOVE.W    (A2)+,D1
  4012.     IF    DEEBUG
  4013.     BRA    DEBUG
  4014.     ELSE
  4015.     JMP    ([A3,D1.W*4])
  4016.     ENDIF
  4017.  
  4018. MAINE4:                ; CALL PO,XXXX
  4019.     ROL.W    #8,D1
  4020.     MOVE.B    (A2)+,D1
  4021.     ROL.W    #8,D1
  4022.     MOVE.W    D4,CCR
  4023.     BVS.B    E41
  4024.     SUBA.L    A0,A2
  4025.     MOVE.L    A2,D7
  4026.     ROL.W    #8,D7
  4027.     MOVE.W    D7,-(A4)
  4028.     MOVE.L    A0,A2
  4029.     MOVE.W    D1,D7
  4030.     ADDA.L    D7,A2
  4031.     MOVE.W    (A2)+,D1
  4032.     IF    DEEBUG
  4033.     BRA    DEBUG
  4034.     ELSE
  4035.     JMP    ([A3,D1.W*4])
  4036.     ENDIF
  4037.  
  4038. E41:    MOVE.W    (A2)+,D1
  4039.     IF    DEEBUG
  4040.     BRA    DEBUG
  4041.     ELSE
  4042.     JMP    ([A3,D1.W*4])
  4043.     ENDIF
  4044.  
  4045. MAINE5:                ; PUSH HL
  4046.     ROL.W    #8,D2
  4047.     MOVE.W    D2,-(A4)
  4048.     ROL.W    #8,D2
  4049.     SUBQ.L    #1,A2
  4050.     MOVE.W    (A2)+,D1
  4051.     IF    DEEBUG
  4052.     BRA    DEBUG
  4053.     ELSE
  4054.     JMP    ([A3,D1.W*4])
  4055.     ENDIF
  4056.  
  4057. MAINE6:                ; AND X
  4058.     MOVE.W    D4,CCR
  4059.     AND.B    D1,D0
  4060.     MOVE.W    CCR,D4
  4061.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  4062.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  4063.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  4064.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  4065.     MOVE.W    (A2)+,D1
  4066.     IF    DEEBUG
  4067.     BRA    DEBUG
  4068.     ELSE
  4069.     JMP    ([A3,D1.W*4])
  4070.     ENDIF
  4071.  
  4072. MAINE7:                ; RST 20
  4073.     SUBQ.L    #1,A2
  4074.     SUBA.L    A0,A2
  4075.     MOVE.W    A2,D7
  4076.     ROL.W    #8,D7
  4077.     MOVE.W    D7,-(A4)
  4078.     MOVE.L    A0,A2
  4079.     ADDA.L    #$20,A2
  4080.     MOVE.W    (A2)+,D1
  4081.     IF    DEEBUG
  4082.     BRA    DEBUG
  4083.     ELSE
  4084.     JMP    ([A3,D1.W*4])
  4085.     ENDIF
  4086.  
  4087. MAINE8:                ; RET PE
  4088.     MOVE.W    D4,CCR
  4089.     BVC.B    E81
  4090.     MOVEQ    #0,D7
  4091.     MOVE.W    (A4)+,D7
  4092.     ROL.W    #8,D7
  4093.     MOVE.L    A0,A2
  4094.     ADDA.L    D7,A2
  4095.     MOVE.W    (A2)+,D1
  4096.     IF    DEEBUG
  4097.     BRA    DEBUG
  4098.     ELSE
  4099.     JMP    ([A3,D1.W*4])
  4100.     ENDIF
  4101.  
  4102. E81:    SUBQ.L    #1,A2
  4103.     MOVE.W    (A2)+,D1
  4104.     IF    DEEBUG
  4105.     BRA    DEBUG
  4106.     ELSE
  4107.     JMP    ([A3,D1.W*4])
  4108.     ENDIF
  4109.  
  4110. MAINE9:                ; JP (HL)
  4111.     MOVE.L    A0,A2
  4112.     MOVEQ    #0,D1
  4113.     MOVE.W    D2,D1
  4114.     ADDA.L    D1,A2
  4115.     MOVE.W    (A2)+,D1
  4116.     IF    DEEBUG
  4117.     BRA    DEBUG
  4118.     ELSE
  4119.     JMP    ([A3,D1.W*4])
  4120.     ENDIF
  4121.  
  4122. MAINEA:                ; JP PE,XXXX
  4123.     ROL.W    #8,D1
  4124.     MOVE.B    (A2)+,D1
  4125.     ROL.W    #8,D1
  4126.     MOVE.W    D4,CCR
  4127.     BVC.B    EA1
  4128.     MOVEQ    #0,D7
  4129.     MOVE.W    D1,D7
  4130.     MOVE.L    A0,A2
  4131.     ADDA.L    D7,A2
  4132.     MOVE.W    (A2)+,D1
  4133.     IF    DEEBUG
  4134.     BRA    DEBUG
  4135.     ELSE
  4136.     JMP    ([A3,D1.W*4])
  4137.     ENDIF
  4138.  
  4139. EA1:    MOVE.W    (A2)+,D1
  4140.     IF    DEEBUG
  4141.     BRA    DEBUG
  4142.     ELSE
  4143.     JMP    ([A3,D1.W*4])
  4144.     ENDIF
  4145.  
  4146. MAINEB:                ; EX DE,HL
  4147.     MOVE.W    D2,D1
  4148.     SWAP    D3
  4149.     MOVE.W    D3,D2
  4150.     MOVE.W    D1,D3
  4151.     SWAP    D3
  4152.     SUBQ.L    #1,A2
  4153.     MOVE.W    (A2)+,D1
  4154.     IF    DEEBUG
  4155.     BRA    DEBUG
  4156.     ELSE
  4157.     JMP    ([A3,D1.W*4])
  4158.     ENDIF
  4159.  
  4160. MAINEC:                ; CALL PE,XXXX
  4161.     ROL.W    #8,D1
  4162.     MOVE.B    (A2)+,D1
  4163.     ROL.W    #8,D1
  4164.     MOVE.W    D4,CCR
  4165.     BVC.B    EC1
  4166.     SUBA.L    A0,A2
  4167.     MOVE.L    A2,D7
  4168.     ROL.W    #8,D7
  4169.     MOVE.W    D7,-(A4)
  4170.     MOVE.L    A0,A2
  4171.     MOVE.W    D1,D7
  4172.     ADDA.L    D7,A2
  4173.     MOVE.W    (A2)+,D1
  4174.     IF    DEEBUG
  4175.     BRA    DEBUG
  4176.     ELSE
  4177.     JMP    ([A3,D1.W*4])
  4178.     ENDIF
  4179.  
  4180. EC1:    MOVE.W    (A2)+,D1
  4181.     IF    DEEBUG
  4182.     BRA    DEBUG
  4183.     ELSE
  4184.     JMP    ([A3,D1.W*4])
  4185.     ENDIF
  4186.  
  4187. MAINEE:                ; XOR X
  4188.     MOVE.W    D4,CCR
  4189.     EOR.B    D1,D0
  4190.     MOVE.W    CCR,D4
  4191.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  4192.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  4193.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  4194.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  4195.     MOVE.W    (A2)+,D1
  4196.     IF    DEEBUG
  4197.     BRA    DEBUG
  4198.     ELSE
  4199.     JMP    ([A3,D1.W*4])
  4200.     ENDIF
  4201.  
  4202. MAINEF:                ; RST 28
  4203.     SUBQ.L    #1,A2
  4204.     SUBA.L    A0,A2
  4205.     MOVE.W    A2,D7
  4206.     ROL.W    #8,D7
  4207.     MOVE.W    D7,-(A4)
  4208.     MOVE.L    A0,A2
  4209.     ADDA.L    #$28,A2
  4210.     MOVE.W    (A2)+,D1
  4211.     IF    DEEBUG
  4212.     BRA    DEBUG
  4213.     ELSE
  4214.     JMP    ([A3,D1.W*4])
  4215.     ENDIF
  4216.  
  4217. MAINF0:                ; RET P
  4218.     MOVE.W    D4,CCR
  4219.     BMI.B    F01
  4220.     MOVEQ    #0,D7
  4221.     MOVE.W    (A4)+,D7
  4222.     ROL.W    #8,D7
  4223.     MOVE.L    A0,A2
  4224.     ADDA.L    D7,A2
  4225.     MOVE.W    (A2)+,D1
  4226.     IF    DEEBUG
  4227.     BRA    DEBUG
  4228.     ELSE
  4229.     JMP    ([A3,D1.W*4])
  4230.     ENDIF
  4231.  
  4232. F01:    SUBQ.L    #1,A2
  4233.     MOVE.W    (A2)+,D1
  4234.     IF    DEEBUG
  4235.     BRA    DEBUG
  4236.     ELSE
  4237.     JMP    ([A3,D1.W*4])
  4238.     ENDIF
  4239.  
  4240. MAINF1:                ; POP AF
  4241.     MOVE.W    (A4)+,D7
  4242.     MOVE.B    D7,D0        ; -> A REG
  4243.     ROL.W    #8,D7
  4244.     ANDI.W    #$00FF,D7    ; MASK FOR LOOKUP TABLE
  4245.     MOVE.B    $100(A6,D7.W),D4    ; GET 680X0 EQUIV FROM TABLE
  4246.     MOVE.W    D7,D5
  4247.     ANDI.W    #$0012,D5    ; SET H AND N FLAGS
  4248.     SUBQ.L    #1,A2
  4249.     MOVE.W    (A2)+,D1
  4250.     IF    DEEBUG
  4251.     BRA    DEBUG
  4252.     ELSE
  4253.     JMP    ([A3,D1.W*4])
  4254.     ENDIF
  4255.  
  4256. MAINF2:                ; JP P,XXXX
  4257.     ROL.W    #8,D1
  4258.     MOVE.B    (A2)+,D1
  4259.     ROL.W    #8,D1
  4260.     MOVE.W    D4,CCR
  4261.     BMI.B    F21
  4262.     MOVEQ    #0,D7
  4263.     MOVE.W    D1,D7
  4264.     MOVE.L    A0,A2
  4265.     ADDA.L    D7,A2
  4266.     MOVE.W    (A2)+,D1
  4267.     IF    DEEBUG
  4268.     BRA    DEBUG
  4269.     ELSE
  4270.     JMP    ([A3,D1.W*4])
  4271.     ENDIF
  4272.  
  4273. F21:    MOVE.W    (A2)+,D1
  4274.     IF    DEEBUG
  4275.     BRA    DEBUG
  4276.     ELSE
  4277.     JMP    ([A3,D1.W*4])
  4278.     ENDIF
  4279.  
  4280. MAINF3:                ; DI (NOP)
  4281.     SUBQ.L    #1,A2
  4282.     MOVE.W    (A2)+,D1
  4283.     IF    DEEBUG
  4284.     BRA    DEBUG
  4285.     ELSE
  4286.     JMP    ([A3,D1.W*4])
  4287.     ENDIF
  4288.  
  4289. MAINF4:                ; CALL P,XXXX
  4290.     ROL.W    #8,D1
  4291.     MOVE.B    (A2)+,D1
  4292.     ROL.W    #8,D1
  4293.     MOVE.W    D4,CCR
  4294.     BMI.B    F41
  4295.     SUBA.L    A0,A2
  4296.     MOVE.L    A2,D7
  4297.     ROL.W    #8,D7
  4298.     MOVE.W    D7,-(A4)
  4299.     MOVE.L    A0,A2
  4300.     MOVE.W    D1,D7
  4301.     ADDA.L    D7,A2
  4302.     MOVE.W    (A2)+,D1
  4303.     IF    DEEBUG
  4304.     BRA    DEBUG
  4305.     ELSE
  4306.     JMP    ([A3,D1.W*4])
  4307.     ENDIF
  4308.  
  4309. F41:    MOVE.W    (A2)+,D1
  4310.     IF    DEEBUG
  4311.     BRA    DEBUG
  4312.     ELSE
  4313.     JMP    ([A3,D1.W*4])
  4314.     ENDIF
  4315.  
  4316. MAINF5:                ; PUSH AF
  4317.     ANDI.W    #$001F,D4    ; INDEX INTO FLG TABLE
  4318.     MOVE.B    $200(A6,D4.W),D7; GET Z80 FLAGS FROM LOOKUP TABLE
  4319.     OR.B    D5,D7        ; SET H AND N IN FLAGS
  4320.     ROL.W    #8,D7
  4321.     MOVE.B    D0,D7        ; GET A REG
  4322.     MOVE.W    D7,-(A4)    ; SAVE ON STACK
  4323.     SUBQ.L    #1,A2
  4324.     MOVE.W    (A2)+,D1
  4325.     IF    DEEBUG
  4326.     BRA    DEBUG
  4327.     ELSE
  4328.     JMP    ([A3,D1.W*4])
  4329.     ENDIF
  4330.  
  4331. MAINF6:                ; OR X
  4332.     MOVE.W    D4,CCR
  4333.     OR.B    D1,D0
  4334.     MOVE.W    CCR,D4
  4335.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  4336.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  4337.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  4338.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  4339.     MOVE.W    (A2)+,D1
  4340.     IF    DEEBUG
  4341.     BRA    DEBUG
  4342.     ELSE
  4343.     JMP    ([A3,D1.W*4])
  4344.     ENDIF
  4345.  
  4346. MAINF7:                ; RST 30
  4347.     SUBQ.L    #1,A2
  4348.     SUBA.L    A0,A2
  4349.     MOVE.W    A2,D7
  4350.     ROL.W    #8,D7
  4351.     MOVE.W    D7,-(A4)
  4352.     MOVE.L    A0,A2
  4353.     ADDA.L    #$30,A2
  4354.     MOVE.W    (A2)+,D1
  4355.     IF    DEEBUG
  4356.     BRA    DEBUG
  4357.     ELSE
  4358.     JMP    ([A3,D1.W*4])
  4359.     ENDIF
  4360.  
  4361. MAINF8:                ; RET M
  4362.     MOVE.W    D4,CCR
  4363.     BPL.B    F81
  4364.     MOVEQ    #0,D7
  4365.     MOVE.W    (A4)+,D7
  4366.     ROL.W    #8,D7
  4367.     MOVE.L    A0,A2
  4368.     ADDA.L    D7,A2
  4369.     MOVE.W    (A2)+,D1
  4370.     IF    DEEBUG
  4371.     BRA    DEBUG
  4372.     ELSE
  4373.     JMP    ([A3,D1.W*4])
  4374.     ENDIF
  4375.  
  4376. F81:    SUBQ.L    #1,A2
  4377.     MOVE.W    (A2)+,D1
  4378.     IF    DEEBUG
  4379.     BRA    DEBUG
  4380.     ELSE
  4381.     JMP    ([A3,D1.W*4])
  4382.     ENDIF
  4383.  
  4384. MAINF9:                ; LD SP,HL
  4385.     MOVE.L    A0,A4
  4386.     MOVEQ    #0,D7
  4387.     MOVE.W    D2,D7
  4388.     ADDA.L    D7,A4
  4389.     SUBQ.L    #1,A2
  4390.     MOVE.W    (A2)+,D1
  4391.     IF    DEEBUG
  4392.     BRA    DEBUG
  4393.     ELSE
  4394.     JMP    ([A3,D1.W*4])
  4395.     ENDIF
  4396.  
  4397. MAINFA:                ; JP M,XXXX
  4398.     ROL.W    #8,D1
  4399.     MOVE.B    (A2)+,D1
  4400.     ROL.W    #8,D1
  4401.     MOVE.W    D4,CCR
  4402.     BPL.B    FA1
  4403.     MOVEQ    #0,D7
  4404.     MOVE.W    D1,D7
  4405.     MOVE.L    A0,A2
  4406.     ADDA.L    D7,A2
  4407.     MOVE.W    (A2)+,D1
  4408.     IF    DEEBUG
  4409.     BRA    DEBUG
  4410.     ELSE
  4411.     JMP    ([A3,D1.W*4])
  4412.     ENDIF
  4413.  
  4414. FA1:    MOVE.W    (A2)+,D1
  4415.     IF    DEEBUG
  4416.     BRA    DEBUG
  4417.     ELSE
  4418.     JMP    ([A3,D1.W*4])
  4419.     ENDIF
  4420.  
  4421. MAINFB:                ; EI (NOP)
  4422.     SUBQ.L    #1,A2
  4423.     MOVE.W    (A2)+,D1
  4424.     IF    DEEBUG
  4425.     BRA    DEBUG
  4426.     ELSE
  4427.     JMP    ([A3,D1.W*4])
  4428.     ENDIF
  4429.  
  4430. MAINFC:                ; CALL M,XXXX
  4431.     ROL.W    #8,D1
  4432.     MOVE.B    (A2)+,D1
  4433.     ROL.W    #8,D1
  4434.     MOVE.W    D4,CCR
  4435.     BPL.B    FC1
  4436.     SUBA.L    A0,A2
  4437.     MOVE.L    A2,D7
  4438.     ROL.W    #8,D7
  4439.     MOVE.W    D7,-(A4)
  4440.     MOVE.L    A0,A2
  4441.     MOVE.W    D1,D7
  4442.     ADDA.L    D7,A2
  4443.     MOVE.W    (A2)+,D1
  4444.     IF    DEEBUG
  4445.     BRA    DEBUG
  4446.     ELSE
  4447.     JMP    ([A3,D1.W*4])
  4448.     ENDIF
  4449.  
  4450. FC1:    MOVE.W    (A2)+,D1
  4451.     IF    DEEBUG
  4452.     BRA    DEBUG
  4453.     ELSE
  4454.     JMP    ([A3,D1.W*4])
  4455.     ENDIF
  4456.  
  4457. MAINFE:                ; CP X
  4458.     MOVE.B    D0,D6
  4459.     MOVE.W    D4,CCR
  4460.     SUB.B    D1,D6
  4461.     MOVE.W    CCR,D4
  4462.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  4463.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  4464.     MOVE.W    (A2)+,D1
  4465.     IF    DEEBUG
  4466.     BRA    DEBUG
  4467.     ELSE
  4468.     JMP    ([A3,D1.W*4])
  4469.     ENDIF
  4470.  
  4471. MAINFF:                ; RST 38
  4472.     SUBQ.L    #1,A2
  4473.     SUBA.L    A0,A2
  4474.     MOVE.W    A2,D7
  4475.     ROL.W    #8,D7
  4476.     MOVE.W    D7,-(A4)
  4477.     MOVE.L    A0,A2
  4478.     ADDA.L    #$38,A2
  4479.     MOVE.W    (A2)+,D1
  4480.     JMP    ([A3,D1.W*4])
  4481.     IF    DEEBUG
  4482.     BRA    DEBUG
  4483.     ELSE
  4484.     JMP    ([A3,D1.W*4])
  4485.     ENDIF
  4486.  
  4487. * CB INSTRUCTIONS
  4488.  
  4489. MCB00:                ; RLC B
  4490.     ROL.W    #8,D3
  4491.     MOVE.W    D4,CCR
  4492.     ROL.B    #1,D3
  4493.     MOVE.W    CCR,D4
  4494.     SCS    D7
  4495.     ANDI.B    #$11,D7        ; SET X = C BIT
  4496.     OR.B    D7,D4
  4497.     MOVE.B    D3,D6
  4498.     ANDI.W    #$00FF,D6    ; EXT D0 FOR INDEX INTO PARITY TABLE
  4499.     OR.B    (A6,D6.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  4500.     MOVEQ.B    #0,D5        ; SET EXTENDED Z80 FLG TO N=0 H=0
  4501.     ROL.W    #8,D3
  4502.     MOVE.W    (A2)+,D1
  4503.     IF    DEEBUG
  4504.     BRA    DEBUG
  4505.     ELSE
  4506.     JMP    ([A3,D1.W*4])
  4507.     ENDIF
  4508.  
  4509. MCB01:                ; RLC C
  4510.     MOVE.W    D4,CCR
  4511.     ROL.B    #1,D3
  4512.     MOVE.W    CCR,D4
  4513.     SCS    D7
  4514.     ANDI.B    #$11,D7
  4515.     OR.B    D7,D4
  4516.     MOVE.B    D3,D6
  4517.     ANDI.W    #$00FF,D6
  4518.     OR.B    (A6,D6.W),D4
  4519.     MOVEQ.B    #0,D5
  4520.     MOVE.W    (A2)+,D1
  4521.     IF    DEEBUG
  4522.     BRA    DEBUG
  4523.     ELSE
  4524.     JMP    ([A3,D1.W*4])
  4525.     ENDIF
  4526.  
  4527. MCB02:                ; RLC D
  4528.     ROL.L    #8,D3
  4529.     MOVE.W    D4,CCR
  4530.     ROL.B    #1,D3
  4531.     MOVE.W    CCR,D4
  4532.     SCS    D7
  4533.     ANDI.B    #$01,D7
  4534.     ROL.B    #4,D7
  4535.     OR.B    D7,D4
  4536.     MOVE.B    D3,D6
  4537.     ANDI.W    #$00FF,D6
  4538.     OR.B    (A6,D6.W),D4
  4539.     MOVEQ.B    #0,D5
  4540.     ROR.L    #8,D3
  4541.     MOVE.W    (A2)+,D1
  4542.     IF    DEEBUG
  4543.     BRA    DEBUG
  4544.     ELSE
  4545.     JMP    ([A3,D1.W*4])
  4546.     ENDIF
  4547.  
  4548. MCB03:                ; RLC E
  4549.     SWAP    D3
  4550.     MOVE.W    D4,CCR
  4551.     ROL.B    #1,D3
  4552.     MOVE.W    CCR,D4
  4553.     SCS    D7
  4554.     ANDI.B    #$01,D7
  4555.     ROL.B    #4,D7
  4556.     OR.B    D7,D4
  4557.     MOVE.B    D3,D6
  4558.     ANDI.W    #$00FF,D6
  4559.     OR.B    (A6,D6.W),D4
  4560.     MOVEQ.B    #0,D5
  4561.     SWAP    D3
  4562.     MOVE.W    (A2)+,D1
  4563.     IF    DEEBUG
  4564.     BRA    DEBUG
  4565.     ELSE
  4566.     JMP    ([A3,D1.W*4])
  4567.     ENDIF
  4568.  
  4569. MCB04:                ; RLC H
  4570.     ROL.W    #8,D2
  4571.     MOVE.W    D4,CCR
  4572.     ROL.B    #1,D2
  4573.     MOVE.W    CCR,D4
  4574.     SCS    D7
  4575.     ANDI.B    #$01,D7
  4576.     ROL.B    #4,D7
  4577.     OR.B    D7,D4
  4578.     MOVE.B    D2,D6
  4579.     ANDI.W    #$00FF,D6
  4580.     OR.B    (A6,D6.W),D4
  4581.     MOVEQ.B    #0,D5
  4582.     ROL.W    #8,D2
  4583.     MOVE.W    (A2)+,D1
  4584.     IF    DEEBUG
  4585.     BRA    DEBUG
  4586.     ELSE
  4587.     JMP    ([A3,D1.W*4])
  4588.     ENDIF
  4589.  
  4590. MCB05:                ; RLC L
  4591.     MOVE.W    D4,CCR
  4592.     ROL.B    #1,D2
  4593.     MOVE.W    CCR,D4
  4594.     SCS    D7
  4595.     ANDI.B    #$01,D7
  4596.     ROL.B    #4,D7
  4597.     OR.B    D7,D4
  4598.     MOVE.B    D2,D6
  4599.     ANDI.W    #$00FF,D6
  4600.     OR.B    (A6,D6.W),D4
  4601.     MOVEQ.B    #0,D5
  4602.     MOVE.W    (A2)+,D1
  4603.     IF    DEEBUG
  4604.     BRA    DEBUG
  4605.     ELSE
  4606.     JMP    ([A3,D1.W*4])
  4607.     ENDIF
  4608.  
  4609. MCB06:                ; RLC (HL)
  4610.     MOVEQ    #0,D1
  4611.     MOVE.W    D2,D1
  4612.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  4613.     BCS.B    .L1
  4614.     MOVE.B    (A0,D1.L),D6
  4615.     MOVE.W    D4,CCR
  4616.     ROL.B    #1,D6
  4617.     MOVE.W    CCR,D4
  4618.     SCS    D7
  4619.     ANDI.B    #$01,D7
  4620.     ROL.B    #4,D7
  4621.     OR.B    D7,D4
  4622.     ANDI.W    #$00FF,D6
  4623.     OR.B    (A6,D6.W),D4
  4624.     MOVEQ.B    #0,D5
  4625.     MOVE.B    D6,(A0,D1.L)
  4626.     MOVE.W    (A2)+,D1
  4627.     IF    DEEBUG
  4628.     BRA    DEBUG
  4629.     ELSE
  4630.     JMP    ([A3,D1.W*4])
  4631.     ENDIF
  4632. .L1
  4633.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  4634.     BHI.B    .L2
  4635.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  4636.     ROL.B    #1,D6
  4637.     MOVE.W    CCR,D4
  4638.     SCS    D7
  4639.     ANDI.B    #$01,D7
  4640.     ROL.B    #4,D7
  4641.     OR.B    D7,D4
  4642.     ANDI.W    #$00FF,D6
  4643.     OR.B    (A6,D6.W),D4
  4644.     MOVEQ.B    #0,D5
  4645.     MOVE.W    (A2)+,D1
  4646.     IF    DEEBUG
  4647.     BRA    DEBUG
  4648.     ELSE
  4649.     JMP    ([A3,D1.W*4])
  4650.     ENDIF
  4651. .L2
  4652.     MOVE.B    (A0,D1.L),D6
  4653.     MOVE.W    D4,CCR
  4654.     ROL.B    #1,D6
  4655.     MOVE.W    CCR,D4
  4656.     SCS    D7
  4657.     ANDI.B    #$01,D7
  4658.     ROL.B    #4,D7
  4659.     OR.B    D7,D4
  4660.     ANDI.W    #$00FF,D6
  4661.     OR.B    (A6,D6.W),D4
  4662.     MOVEQ.B    #0,D5
  4663.     MOVE.B    D6,(A0,D1.L)
  4664.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  4665.     MOVE.W    (A2)+,D1
  4666.     IF    DEEBUG
  4667.     BRA    DEBUG
  4668.     ELSE
  4669.     JMP    ([A3,D1.W*4])
  4670.     ENDIF
  4671.  
  4672. MCB07:                ; RLC A
  4673.     MOVE.W    D4,CCR
  4674.     ROL.B    #1,D0
  4675.     MOVE.W    CCR,D4
  4676.     SCS    D7
  4677.     ANDI.B    #$01,D7
  4678.     ROL.B    #4,D7
  4679.     OR.B    D7,D4
  4680.     ANDI.W    #$00FF,D0
  4681.     OR.B    (A6,D0.W),D4
  4682.     MOVEQ.B    #0,D5
  4683.     MOVE.W    (A2)+,D1
  4684.     IF    DEEBUG
  4685.     BRA    DEBUG
  4686.     ELSE
  4687.     JMP    ([A3,D1.W*4])
  4688.     ENDIF
  4689.  
  4690. MCB08:                ; RRC B
  4691.     ROL.W    #8,D3
  4692.     MOVE.W    D4,CCR
  4693.     ROR.B    #1,D3
  4694.     MOVE.W    CCR,D4
  4695.     SCS    D7
  4696.     ANDI.B    #$01,D7
  4697.     ROL.B    #4,D7
  4698.     OR.B    D7,D4
  4699.     MOVE.B    D3,D6
  4700.     ANDI.W    #$00FF,D6
  4701.     OR.B    (A6,D6.W),D4
  4702.     MOVEQ.B    #0,D5
  4703.     ROL.W    #8,D3
  4704.     MOVE.W    (A2)+,D1
  4705.     IF    DEEBUG
  4706.     BRA    DEBUG
  4707.     ELSE
  4708.     JMP    ([A3,D1.W*4])
  4709.     ENDIF
  4710.  
  4711. MCB09:                ; RRC C
  4712.     MOVE.W    D4,CCR
  4713.     ROR.B    #1,D3
  4714.     MOVE.W    CCR,D4
  4715.     SCS    D7
  4716.     ANDI.B    #$01,D7
  4717.     ROL.B    #4,D7
  4718.     OR.B    D7,D4
  4719.     MOVE.B    D3,D6
  4720.     ANDI.W    #$00FF,D6
  4721.     OR.B    (A6,D6.W),D4
  4722.     MOVEQ.B    #0,D5
  4723.     MOVE.W    (A2)+,D1
  4724.     IF    DEEBUG
  4725.     BRA    DEBUG
  4726.     ELSE
  4727.     JMP    ([A3,D1.W*4])
  4728.     ENDIF
  4729.  
  4730. MCB0A:                ; RRC D
  4731.     ROL.L    #8,D3
  4732.     MOVE.W    D4,CCR
  4733.     ROR.B    #1,D3
  4734.     MOVE.W    CCR,D4
  4735.     SCS    D7
  4736.     ANDI.B    #$01,D7
  4737.     ROL.B    #4,D7
  4738.     OR.B    D7,D4
  4739.     MOVE.B    D3,D6
  4740.     ANDI.W    #$00FF,D6
  4741.     OR.B    (A6,D6.W),D4
  4742.     MOVEQ.B    #0,D5
  4743.     ROR.L    #8,D3
  4744.     MOVE.W    (A2)+,D1
  4745.     IF    DEEBUG
  4746.     BRA    DEBUG
  4747.     ELSE
  4748.     JMP    ([A3,D1.W*4])
  4749.     ENDIF
  4750.  
  4751. MCB0B:                ; RRC E
  4752.     SWAP    D3
  4753.     MOVE.W    D4,CCR
  4754.     ROR.B    #1,D3
  4755.     MOVE.W    CCR,D4
  4756.     SCS    D7
  4757.     ANDI.B    #$01,D7
  4758.     ROL.B    #4,D7
  4759.     OR.B    D7,D4
  4760.     MOVE.B    D3,D6
  4761.     ANDI.W    #$00FF,D6
  4762.     OR.B    (A6,D6.W),D4
  4763.     MOVEQ.B    #0,D5
  4764.     SWAP    D3
  4765.     MOVE.W    (A2)+,D1
  4766.     IF    DEEBUG
  4767.     BRA    DEBUG
  4768.     ELSE
  4769.     JMP    ([A3,D1.W*4])
  4770.     ENDIF
  4771.  
  4772. MCB0C:                ; RRC H
  4773.     ROL.W    #8,D2
  4774.     MOVE.W    D4,CCR
  4775.     ROR.B    #1,D2
  4776.     MOVE.W    CCR,D4
  4777.     SCS    D7
  4778.     ANDI.B    #$01,D7
  4779.     ROL.B    #4,D7
  4780.     OR.B    D7,D4
  4781.     MOVE.B    D2,D6
  4782.     ANDI.W    #$00FF,D6
  4783.     OR.B    (A6,D6.W),D4
  4784.     MOVEQ.B    #0,D5
  4785.     ROL.W    #8,D2
  4786.     MOVE.W    (A2)+,D1
  4787.     IF    DEEBUG
  4788.     BRA    DEBUG
  4789.     ELSE
  4790.     JMP    ([A3,D1.W*4])
  4791.     ENDIF
  4792.  
  4793. MCB0D:                ; RRC L
  4794.     MOVE.W    D4,CCR
  4795.     ROR.B    #1,D2
  4796.     MOVE.W    CCR,D4
  4797.     SCS    D7
  4798.     ANDI.B    #$01,D7
  4799.     ROL.B    #4,D7
  4800.     OR.B    D7,D4
  4801.     MOVE.B    D2,D6
  4802.     ANDI.W    #$00FF,D6
  4803.     OR.B    (A6,D6.W),D4
  4804.     MOVEQ.B    #0,D5
  4805.     MOVE.W    (A2)+,D1
  4806.     IF    DEEBUG
  4807.     BRA    DEBUG
  4808.     ELSE
  4809.     JMP    ([A3,D1.W*4])
  4810.     ENDIF
  4811.  
  4812. MCB0E:                ; RRC (HL)
  4813.     MOVEQ    #0,D1
  4814.     MOVE.W    D2,D1
  4815.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  4816.     BCS.B    .L1
  4817.     MOVE.B    (A0,D1.L),D6
  4818.     MOVE.W    D4,CCR
  4819.     ROR.B    #1,D6
  4820.     MOVE.W    CCR,D4
  4821.     SCS    D7
  4822.     ANDI.B    #$01,D7
  4823.     ROL.B    #4,D7
  4824.     OR.B    D7,D4
  4825.     ANDI.W    #$00FF,D6
  4826.     OR.B    (A6,D6.W),D4
  4827.     MOVEQ.B    #0,D5
  4828.     MOVE.B    D6,(A0,D1.L)
  4829.     MOVE.W    (A2)+,D1
  4830.     IF    DEEBUG
  4831.     BRA    DEBUG
  4832.     ELSE
  4833.     JMP    ([A3,D1.W*4])
  4834.     ENDIF
  4835. .L1
  4836.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  4837.     BHI.B    .L2
  4838.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  4839.     ROR.B    #1,D6
  4840.     MOVE.W    CCR,D4
  4841.     SCS    D7
  4842.     ANDI.B    #$01,D7
  4843.     ROL.B    #4,D7
  4844.     OR.B    D7,D4
  4845.     ANDI.W    #$00FF,D6
  4846.     OR.B    (A6,D6.W),D4
  4847.     MOVEQ.B    #0,D5
  4848.     MOVE.W    (A2)+,D1
  4849.     IF    DEEBUG
  4850.     BRA    DEBUG
  4851.     ELSE
  4852.     JMP    ([A3,D1.W*4])
  4853.     ENDIF
  4854. .L2
  4855.     MOVE.B    (A0,D1.L),D6
  4856.     MOVE.W    D4,CCR
  4857.     ROR.B    #1,D6
  4858.     MOVE.W    CCR,D4
  4859.     SCS    D7
  4860.     ANDI.B    #$01,D7
  4861.     ROL.B    #4,D7
  4862.     OR.B    D7,D4
  4863.     ANDI.W    #$00FF,D6
  4864.     OR.B    (A6,D6.W),D4
  4865.     MOVEQ.B    #0,D5
  4866.     MOVE.B    D6,(A0,D1.L)
  4867.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  4868.     MOVE.W    (A2)+,D1
  4869.     IF    DEEBUG
  4870.     BRA    DEBUG
  4871.     ELSE
  4872.     JMP    ([A3,D1.W*4])
  4873.     ENDIF
  4874.  
  4875. MCB0F:                ; RRC A
  4876.     MOVE.W    D4,CCR
  4877.     ROR.B    #1,D0
  4878.     MOVE.W    CCR,D4
  4879.     SCS    D7
  4880.     ANDI.B    #$01,D7
  4881.     ROL.B    #4,D7
  4882.     OR.B    D7,D4
  4883.     ANDI.W    #$00FF,D0
  4884.     OR.B    (A6,D0.W),D4
  4885.     MOVEQ.B    #0,D5
  4886.     MOVE.W    (A2)+,D1
  4887.     IF    DEEBUG
  4888.     BRA    DEBUG
  4889.     ELSE
  4890.     JMP    ([A3,D1.W*4])
  4891.     ENDIF
  4892.  
  4893. MCB10:                ; RL B
  4894.     ROL.W    #8,D3
  4895.     MOVE.W    D4,CCR
  4896.     ROXL.B    #1,D3
  4897.     MOVE.W    CCR,D4
  4898.     SCS    D7
  4899.     ANDI.B    #$01,D7
  4900.     ROL.B    #4,D7
  4901.     OR.B    D7,D4
  4902.     MOVE.B    D3,D6
  4903.     ANDI.W    #$00FF,D6
  4904.     OR.B    (A6,D6.W),D4
  4905.     MOVEQ.B    #0,D5
  4906.     ROL.W    #8,D3
  4907.     MOVE.W    (A2)+,D1
  4908.     IF    DEEBUG
  4909.     BRA    DEBUG
  4910.     ELSE
  4911.     JMP    ([A3,D1.W*4])
  4912.     ENDIF
  4913.  
  4914. MCB11:                ; RL C
  4915.     MOVE.W    D4,CCR
  4916.     ROXL.B    #1,D3
  4917.     MOVE.W    CCR,D4
  4918.     SCS    D7
  4919.     ANDI.B    #$01,D7
  4920.     ROL.B    #4,D7
  4921.     OR.B    D7,D4
  4922.     MOVE.B    D3,D6
  4923.     ANDI.W    #$00FF,D6
  4924.     OR.B    (A6,D6.W),D4
  4925.     MOVEQ.B    #0,D5
  4926.     MOVE.W    (A2)+,D1
  4927.     IF    DEEBUG
  4928.     BRA    DEBUG
  4929.     ELSE
  4930.     JMP    ([A3,D1.W*4])
  4931.     ENDIF
  4932.  
  4933. MCB12:                ; RL D
  4934.     ROL.L    #8,D3
  4935.     MOVE.W    D4,CCR
  4936.     ROXL.B    #1,D3
  4937.     MOVE.W    CCR,D4
  4938.     SCS    D7
  4939.     ANDI.B    #$01,D7
  4940.     ROL.B    #4,D7
  4941.     OR.B    D7,D4
  4942.     MOVE.B    D3,D6
  4943.     ANDI.W    #$00FF,D6
  4944.     OR.B    (A6,D6.W),D4
  4945.     MOVEQ.B    #0,D5
  4946.     ROR.L    #8,D3
  4947.     MOVE.W    (A2)+,D1
  4948.     IF    DEEBUG
  4949.     BRA    DEBUG
  4950.     ELSE
  4951.     JMP    ([A3,D1.W*4])
  4952.     ENDIF
  4953.  
  4954. MCB13:                ; RL E
  4955.     SWAP    D3
  4956.     MOVE.W    D4,CCR
  4957.     ROXL.B    #1,D3
  4958.     MOVE.W    CCR,D4
  4959.     SCS    D7
  4960.     ANDI.B    #$01,D7
  4961.     ROL.B    #4,D7
  4962.     OR.B    D7,D4
  4963.     MOVE.B    D3,D6
  4964.     ANDI.W    #$00FF,D6
  4965.     OR.B    (A6,D6.W),D4
  4966.     MOVEQ.B    #0,D5
  4967.     SWAP    D3
  4968.     MOVE.W    (A2)+,D1
  4969.     IF    DEEBUG
  4970.     BRA    DEBUG
  4971.     ELSE
  4972.     JMP    ([A3,D1.W*4])
  4973.     ENDIF
  4974.  
  4975. MCB14:                ; RL H
  4976.     ROL.W    #8,D2
  4977.     MOVE.W    D4,CCR
  4978.     ROXL.B    #1,D2
  4979.     MOVE.W    CCR,D4
  4980.     SCS    D7
  4981.     ANDI.B    #$01,D7
  4982.     ROL.B    #4,D7
  4983.     OR.B    D7,D4
  4984.     MOVE.B    D2,D6
  4985.     ANDI.W    #$00FF,D6
  4986.     OR.B    (A6,D6.W),D4
  4987.     MOVEQ.B    #0,D5
  4988.     ROL.W    #8,D2
  4989.     MOVE.W    (A2)+,D1
  4990.     IF    DEEBUG
  4991.     BRA    DEBUG
  4992.     ELSE
  4993.     JMP    ([A3,D1.W*4])
  4994.     ENDIF
  4995.  
  4996. MCB15:                ; RL L
  4997.     MOVE.W    D4,CCR
  4998.     ROXL.B    #1,D2
  4999.     MOVE.W    CCR,D4
  5000.     SCS    D7
  5001.     ANDI.B    #$01,D7
  5002.     ROL.B    #4,D7
  5003.     OR.B    D7,D4
  5004.     MOVE.B    D2,D6
  5005.     ANDI.W    #$00FF,D6
  5006.     OR.B    (A6,D6.W),D4
  5007.     MOVEQ.B    #0,D5
  5008.     MOVE.W    (A2)+,D1
  5009.     IF    DEEBUG
  5010.     BRA    DEBUG
  5011.     ELSE
  5012.     JMP    ([A3,D1.W*4])
  5013.     ENDIF
  5014.  
  5015. MCB16:                ; RL (HL)
  5016.     MOVEQ    #0,D1
  5017.     MOVE.W    D2,D1
  5018.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5019.     BCS.B    .L1
  5020.     MOVE.B    (A0,D1.L),D6
  5021.     MOVE.W    D4,CCR
  5022.     ROXL.B    #1,D6
  5023.     MOVE.W    CCR,D4
  5024.     SCS    D7
  5025.     ANDI.B    #$01,D7
  5026.     ROL.B    #4,D7
  5027.     OR.B    D7,D4
  5028.     ANDI.W    #$00FF,D6
  5029.     OR.B    (A6,D6.W),D4
  5030.     MOVEQ.B    #0,D5
  5031.     MOVE.B    D6,(A0,D1.L)
  5032.     MOVE.W    (A2)+,D1
  5033.     IF    DEEBUG
  5034.     BRA    DEBUG
  5035.     ELSE
  5036.     JMP    ([A3,D1.W*4])
  5037.     ENDIF
  5038. .L1
  5039.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5040.     BHI.B    .L2
  5041.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5042.     ROXL.B    #1,D6
  5043.     MOVE.W    CCR,D4
  5044.     SCS    D7
  5045.     ANDI.B    #$01,D7
  5046.     ROL.B    #4,D7
  5047.     OR.B    D7,D4
  5048.     ANDI.W    #$00FF,D6
  5049.     OR.B    (A6,D6.W),D4
  5050.     MOVEQ.B    #0,D5
  5051.     MOVE.W    (A2)+,D1
  5052.     IF    DEEBUG
  5053.     BRA    DEBUG
  5054.     ELSE
  5055.     JMP    ([A3,D1.W*4])
  5056.     ENDIF
  5057. .L2
  5058.     MOVE.B    (A0,D1.L),D6
  5059.     MOVE.W    D4,CCR
  5060.     ROXL.B    #1,D6
  5061.     MOVE.W    CCR,D4
  5062.     SCS    D7
  5063.     ANDI.B    #$01,D7
  5064.     ROL.B    #4,D7
  5065.     OR.B    D7,D4
  5066.     ANDI.W    #$00FF,D6
  5067.     OR.B    (A6,D6.W),D4
  5068.     MOVEQ.B    #0,D5
  5069.     MOVE.B    D6,(A0,D1.L)
  5070.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5071.     MOVE.W    (A2)+,D1
  5072.     IF    DEEBUG
  5073.     BRA    DEBUG
  5074.     ELSE
  5075.     JMP    ([A3,D1.W*4])
  5076.     ENDIF
  5077.  
  5078. MCB17:                ; RL A
  5079.     MOVE.W    D4,CCR
  5080.     ROXL.B    #1,D0
  5081.     MOVE.W    CCR,D4
  5082.     SCS    D7
  5083.     ANDI.B    #$01,D7
  5084.     ROL.B    #4,D7
  5085.     OR.B    D7,D4
  5086.     ANDI.W    #$00FF,D0
  5087.     OR.B    (A6,D0.W),D4
  5088.     MOVEQ.B    #0,D5
  5089.     MOVE.W    (A2)+,D1
  5090.     IF    DEEBUG
  5091.     BRA    DEBUG
  5092.     ELSE
  5093.     JMP    ([A3,D1.W*4])
  5094.     ENDIF
  5095.  
  5096. MCB18:                ; RR B
  5097.     ROL.W    #8,D3
  5098.     MOVE.W    D4,CCR
  5099.     ROXR.B    #1,D3
  5100.     MOVE.W    CCR,D4
  5101.     SCS    D7
  5102.     ANDI.B    #$01,D7
  5103.     ROL.B    #4,D7
  5104.     OR.B    D7,D4
  5105.     MOVE.B    D3,D6
  5106.     ANDI.W    #$00FF,D6
  5107.     OR.B    (A6,D6.W),D4
  5108.     MOVEQ.B    #0,D5
  5109.     ROL.W    #8,D3
  5110.     MOVE.W    (A2)+,D1
  5111.     IF    DEEBUG
  5112.     BRA    DEBUG
  5113.     ELSE
  5114.     JMP    ([A3,D1.W*4])
  5115.     ENDIF
  5116.  
  5117. MCB19:                ; RR C
  5118.     MOVE.W    D4,CCR
  5119.     ROXR.B    #1,D3
  5120.     MOVE.W    CCR,D4
  5121.     SCS    D7
  5122.     ANDI.B    #$01,D7
  5123.     ROL.B    #4,D7
  5124.     OR.B    D7,D4
  5125.     MOVE.B    D3,D6
  5126.     ANDI.W    #$00FF,D6
  5127.     OR.B    (A6,D6.W),D4
  5128.     MOVEQ.B    #0,D5
  5129.     MOVE.W    (A2)+,D1
  5130.     IF    DEEBUG
  5131.     BRA    DEBUG
  5132.     ELSE
  5133.     JMP    ([A3,D1.W*4])
  5134.     ENDIF
  5135.  
  5136. MCB1A:                ; RR D
  5137.     ROL.L    #8,D3
  5138.     MOVE.W    D4,CCR
  5139.     ROXR.B    #1,D3
  5140.     MOVE.W    CCR,D4
  5141.     SCS    D7
  5142.     ANDI.B    #$01,D7
  5143.     ROL.B    #4,D7
  5144.     OR.B    D7,D4
  5145.     MOVE.B    D3,D6
  5146.     ANDI.W    #$00FF,D6
  5147.     OR.B    (A6,D6.W),D4
  5148.     MOVEQ.B    #0,D5
  5149.     ROR.L    #8,D3
  5150.     MOVE.W    (A2)+,D1
  5151.     IF    DEEBUG
  5152.     BRA    DEBUG
  5153.     ELSE
  5154.     JMP    ([A3,D1.W*4])
  5155.     ENDIF
  5156.  
  5157. MCB1B:                ; RR E
  5158.     SWAP    D3
  5159.     MOVE.W    D4,CCR
  5160.     ROXR.B    #1,D3
  5161.     MOVE.W    CCR,D4
  5162.     SCS    D7
  5163.     ANDI.B    #$01,D7
  5164.     ROL.B    #4,D7
  5165.     OR.B    D7,D4
  5166.     MOVE.B    D3,D6
  5167.     ANDI.W    #$00FF,D6
  5168.     OR.B    (A6,D6.W),D4
  5169.     MOVEQ.B    #0,D5
  5170.     SWAP    D3
  5171.     MOVE.W    (A2)+,D1
  5172.     IF    DEEBUG
  5173.     BRA    DEBUG
  5174.     ELSE
  5175.     JMP    ([A3,D1.W*4])
  5176.     ENDIF
  5177.  
  5178. MCB1C:                ; RR H
  5179.     ROL.W    #8,D2
  5180.     MOVE.W    D4,CCR
  5181.     ROXR.B    #1,D2
  5182.     MOVE.W    CCR,D4
  5183.     SCS    D7
  5184.     ANDI.B    #$01,D7
  5185.     ROL.B    #4,D7
  5186.     OR.B    D7,D4
  5187.     MOVE.B    D2,D6
  5188.     ANDI.W    #$00FF,D6
  5189.     OR.B    (A6,D6.W),D4
  5190.     MOVEQ.B    #0,D5
  5191.     ROL.W    #8,D2
  5192.     MOVE.W    (A2)+,D1
  5193.     IF    DEEBUG
  5194.     BRA    DEBUG
  5195.     ELSE
  5196.     JMP    ([A3,D1.W*4])
  5197.     ENDIF
  5198.  
  5199. MCB1D:                ; RR L
  5200.     MOVE.W    D4,CCR
  5201.     ROXR.B    #1,D2
  5202.     MOVE.W    CCR,D4
  5203.     SCS    D7
  5204.     ANDI.B    #$01,D7
  5205.     ROL.B    #4,D7
  5206.     OR.B    D7,D4
  5207.     MOVE.B    D2,D6
  5208.     ANDI.W    #$00FF,D6
  5209.     OR.B    (A6,D6.W),D4
  5210.     MOVEQ.B    #0,D5
  5211.     MOVE.W    (A2)+,D1
  5212.     IF    DEEBUG
  5213.     BRA    DEBUG
  5214.     ELSE
  5215.     JMP    ([A3,D1.W*4])
  5216.     ENDIF
  5217.  
  5218. MCB1E:                ; RR (HL)
  5219.     MOVEQ    #0,D1
  5220.     MOVE.W    D2,D1
  5221.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5222.     BCS.B    .L1
  5223.     MOVE.B    (A0,D1.L),D6
  5224.     MOVE.W    D4,CCR
  5225.     ROXR.B    #1,D6
  5226.     MOVE.W    CCR,D4
  5227.     SCS    D7
  5228.     ANDI.B    #$01,D7
  5229.     ROL.B    #4,D7
  5230.     OR.B    D7,D4
  5231.     ANDI.W    #$00FF,D6
  5232.     OR.B    (A6,D6.W),D4
  5233.     MOVEQ.B    #0,D5
  5234.     MOVE.B    D6,(A0,D1.L)
  5235.     MOVE.W    (A2)+,D1
  5236.     IF    DEEBUG
  5237.     BRA    DEBUG
  5238.     ELSE
  5239.     JMP    ([A3,D1.W*4])
  5240.     ENDIF
  5241. .L1
  5242.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5243.     BHI.B    .L2
  5244.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5245.     ROXR.B    #1,D6
  5246.     MOVE.W    CCR,D4
  5247.     SCS    D7
  5248.     ANDI.B    #$01,D7
  5249.     ROL.B    #4,D7
  5250.     OR.B    D7,D4
  5251.     ANDI.W    #$00FF,D6
  5252.     OR.B    (A6,D6.W),D4
  5253.     MOVEQ.B    #0,D5
  5254.     MOVE.W    (A2)+,D1
  5255.     IF    DEEBUG
  5256.     BRA    DEBUG
  5257.     ELSE
  5258.     JMP    ([A3,D1.W*4])
  5259.     ENDIF
  5260. .L2
  5261.     MOVE.B    (A0,D1.L),D6
  5262.     MOVE.W    D4,CCR
  5263.     ROXR.B    #1,D6
  5264.     MOVE.W    CCR,D4
  5265.     SCS    D7
  5266.     ANDI.B    #$01,D7
  5267.     ROL.B    #4,D7
  5268.     OR.B    D7,D4
  5269.     ANDI.W    #$00FF,D6
  5270.     OR.B    (A6,D6.W),D4
  5271.     MOVEQ.B    #0,D5
  5272.     MOVE.B    D6,(A0,D1.L)
  5273.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5274.     MOVE.W    (A2)+,D1
  5275.     IF    DEEBUG
  5276.     BRA    DEBUG
  5277.     ELSE
  5278.     JMP    ([A3,D1.W*4])
  5279.     ENDIF
  5280.  
  5281. MCB1F:                ; RR A
  5282.     MOVE.W    D4,CCR
  5283.     ROXR.B    #1,D0
  5284.     MOVE.W    CCR,D4
  5285.     SCS    D7
  5286.     ANDI.B    #$01,D7
  5287.     ROL.B    #4,D7
  5288.     OR.B    D7,D4
  5289.     ANDI.W    #$00FF,D0
  5290.     OR.B    (A6,D0.W),D4
  5291.     MOVEQ.B    #0,D5
  5292.     MOVE.W    (A2)+,D1
  5293.     IF    DEEBUG
  5294.     BRA    DEBUG
  5295.     ELSE
  5296.     JMP    ([A3,D1.W*4])
  5297.     ENDIF
  5298.  
  5299. MCB20:                ; SLA B
  5300.     ROL.W    #8,D3
  5301.     MOVE.W    D4,CCR
  5302.     LSL.B    #1,D3
  5303.     MOVE.W    CCR,D4
  5304.     SCS    D7
  5305.     ANDI.B    #$01,D7
  5306.     ROL.B    #4,D7
  5307.     OR.B    D7,D4
  5308.     MOVE.B    D3,D6
  5309.     ANDI.W    #$00FF,D6
  5310.     OR.B    (A6,D6.W),D4
  5311.     MOVEQ.B    #0,D5
  5312.     ROL.W    #8,D3
  5313.     MOVE.W    (A2)+,D1
  5314.     IF    DEEBUG
  5315.     BRA    DEBUG
  5316.     ELSE
  5317.     JMP    ([A3,D1.W*4])
  5318.     ENDIF
  5319.  
  5320. MCB21:                ; SLA C
  5321.     MOVE.W    D4,CCR
  5322.     LSL.B    #1,D3
  5323.     MOVE.W    CCR,D4
  5324.     SCS    D7
  5325.     ANDI.B    #$01,D7
  5326.     ROL.B    #4,D7
  5327.     OR.B    D7,D4
  5328.     MOVE.B    D3,D6
  5329.     ANDI.W    #$00FF,D6
  5330.     OR.B    (A6,D6.W),D4
  5331.     MOVEQ.B    #0,D5
  5332.     MOVE.W    (A2)+,D1
  5333.     IF    DEEBUG
  5334.     BRA    DEBUG
  5335.     ELSE
  5336.     JMP    ([A3,D1.W*4])
  5337.     ENDIF
  5338.  
  5339. MCB22:                ; SLA D
  5340.     ROL.L    #8,D3
  5341.     MOVE.W    D4,CCR
  5342.     LSL.B    #1,D3
  5343.     MOVE.W    CCR,D4
  5344.     SCS    D7
  5345.     ANDI.B    #$01,D7
  5346.     ROL.B    #4,D7
  5347.     OR.B    D7,D4
  5348.     MOVE.B    D3,D6
  5349.     ANDI.W    #$00FF,D6
  5350.     OR.B    (A6,D6.W),D4
  5351.     MOVEQ.B    #0,D5
  5352.     ROR.L    #8,D3
  5353.     MOVE.W    (A2)+,D1
  5354.     IF    DEEBUG
  5355.     BRA    DEBUG
  5356.     ELSE
  5357.     JMP    ([A3,D1.W*4])
  5358.     ENDIF
  5359.  
  5360. MCB23:                ; SLA E
  5361.     SWAP    D3
  5362.     MOVE.W    D4,CCR
  5363.     LSL.B    #1,D3
  5364.     MOVE.W    CCR,D4
  5365.     SCS    D7
  5366.     ANDI.B    #$01,D7
  5367.     ROL.B    #4,D7
  5368.     OR.B    D7,D4
  5369.     MOVE.B    D3,D6
  5370.     ANDI.W    #$00FF,D6
  5371.     OR.B    (A6,D6.W),D4
  5372.     MOVEQ.B    #0,D5
  5373.     SWAP    D3
  5374.     MOVE.W    (A2)+,D1
  5375.     IF    DEEBUG
  5376.     BRA    DEBUG
  5377.     ELSE
  5378.     JMP    ([A3,D1.W*4])
  5379.     ENDIF
  5380.  
  5381. MCB24:                ; SLA H
  5382.     ROL.W    #8,D2
  5383.     MOVE.W    D4,CCR
  5384.     LSL.B    #1,D2
  5385.     MOVE.W    CCR,D4
  5386.     SCS    D7
  5387.     ANDI.B    #$01,D7
  5388.     ROL.B    #4,D7
  5389.     OR.B    D7,D4
  5390.     MOVE.B    D2,D6
  5391.     ANDI.W    #$00FF,D6
  5392.     OR.B    (A6,D6.W),D4
  5393.     MOVEQ.B    #0,D5
  5394.     ROL.W    #8,D2
  5395.     MOVE.W    (A2)+,D1
  5396.     IF    DEEBUG
  5397.     BRA    DEBUG
  5398.     ELSE
  5399.     JMP    ([A3,D1.W*4])
  5400.     ENDIF
  5401.  
  5402. MCB25:                ; SLA L
  5403.     MOVE.W    D4,CCR
  5404.     LSL.B    #1,D2
  5405.     MOVE.W    CCR,D4
  5406.     SCS    D7
  5407.     ANDI.B    #$01,D7
  5408.     ROL.B    #4,D7
  5409.     OR.B    D7,D4
  5410.     MOVE.B    D2,D6
  5411.     ANDI.W    #$00FF,D6
  5412.     OR.B    (A6,D6.W),D4
  5413.     MOVEQ.B    #0,D5
  5414.     MOVE.W    (A2)+,D1
  5415.     IF    DEEBUG
  5416.     BRA    DEBUG
  5417.     ELSE
  5418.     JMP    ([A3,D1.W*4])
  5419.     ENDIF
  5420.  
  5421. MCB26:                ; SLA (HL)
  5422.     MOVEQ    #0,D1
  5423.     MOVE.W    D2,D1
  5424.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5425.     BCS.B    .L1
  5426.     MOVE.B    (A0,D1.L),D6
  5427.     MOVE.W    D4,CCR
  5428.     LSL.B    #1,D6
  5429.     MOVE.W    CCR,D4
  5430.     SCS    D7
  5431.     ANDI.B    #$01,D7
  5432.     ROL.B    #4,D7
  5433.     OR.B    D7,D4
  5434.     ANDI.W    #$00FF,D6
  5435.     OR.B    (A6,D6.W),D4
  5436.     MOVEQ.B    #0,D5
  5437.     MOVE.B    D6,(A0,D1.L)
  5438.     MOVE.W    (A2)+,D1
  5439.     IF    DEEBUG
  5440.     BRA    DEBUG
  5441.     ELSE
  5442.     JMP    ([A3,D1.W*4])
  5443.     ENDIF
  5444. .L1
  5445.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5446.     BHI.B    .L2
  5447.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5448.     LSL.B    #1,D6
  5449.     MOVE.W    CCR,D4
  5450.     SCS    D7
  5451.     ANDI.B    #$01,D7
  5452.     ROL.B    #4,D7
  5453.     OR.B    D7,D4
  5454.     ANDI.W    #$00FF,D6
  5455.     OR.B    (A6,D6.W),D4
  5456.     MOVEQ.B    #0,D5
  5457.     MOVE.W    (A2)+,D1
  5458.     IF    DEEBUG
  5459.     BRA    DEBUG
  5460.     ELSE
  5461.     JMP    ([A3,D1.W*4])
  5462.     ENDIF
  5463. .L2
  5464.     MOVE.B    (A0,D1.L),D6
  5465.     MOVE.W    D4,CCR
  5466.     LSL.B    #1,D6
  5467.     MOVE.W    CCR,D4
  5468.     SCS    D7
  5469.     ANDI.B    #$01,D7
  5470.     ROL.B    #4,D7
  5471.     OR.B    D7,D4
  5472.     ANDI.W    #$00FF,D6
  5473.     OR.B    (A6,D6.W),D4
  5474.     MOVEQ.B    #0,D5
  5475.     MOVE.B    D6,(A0,D1.L)
  5476.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5477.     MOVE.W    (A2)+,D1
  5478.     IF    DEEBUG
  5479.     BRA    DEBUG
  5480.     ELSE
  5481.     JMP    ([A3,D1.W*4])
  5482.     ENDIF
  5483.  
  5484. MCB27:                ; SLA A
  5485.     MOVE.W    D4,CCR
  5486.     LSL.B    #1,D0
  5487.     MOVE.W    CCR,D4
  5488.     SCS    D7
  5489.     ANDI.B    #$01,D7
  5490.     ROL.B    #4,D7
  5491.     OR.B    D7,D4
  5492.     ANDI.W    #$00FF,D0
  5493.     OR.B    (A6,D0.W),D4
  5494.     MOVEQ.B    #0,D5
  5495.     MOVE.W    (A2)+,D1
  5496.     IF    DEEBUG
  5497.     BRA    DEBUG
  5498.     ELSE
  5499.     JMP    ([A3,D1.W*4])
  5500.     ENDIF
  5501.  
  5502. MCB28:                ; SRA B
  5503.     ROL.W    #8,D3
  5504.     MOVE.W    D4,CCR
  5505.     ASR.B    #1,D3
  5506.     MOVE.W    CCR,D4
  5507.     SCS    D7
  5508.     ANDI.B    #$01,D7
  5509.     ROL.B    #4,D7
  5510.     OR.B    D7,D4
  5511.     MOVE.B    D3,D6
  5512.     ANDI.W    #$00FF,D6
  5513.     OR.B    (A6,D6.W),D4
  5514.     MOVEQ.B    #0,D5
  5515.     ROL.W    #8,D3
  5516.     MOVE.W    (A2)+,D1
  5517.     IF    DEEBUG
  5518.     BRA    DEBUG
  5519.     ELSE
  5520.     JMP    ([A3,D1.W*4])
  5521.     ENDIF
  5522.  
  5523. MCB29:                ; SRA C
  5524.     MOVE.W    D4,CCR
  5525.     ASR.B    #1,D3
  5526.     MOVE.W    CCR,D4
  5527.     SCS    D7
  5528.     ANDI.B    #$01,D7
  5529.     ROL.B    #4,D7
  5530.     OR.B    D7,D4
  5531.     MOVE.B    D3,D6
  5532.     ANDI.W    #$00FF,D6
  5533.     OR.B    (A6,D6.W),D4
  5534.     MOVEQ.B    #0,D5
  5535.     MOVE.W    (A2)+,D1
  5536.     IF    DEEBUG
  5537.     BRA    DEBUG
  5538.     ELSE
  5539.     JMP    ([A3,D1.W*4])
  5540.     ENDIF
  5541.  
  5542. MCB2A:                ; SRA D
  5543.     ROL.L    #8,D3
  5544.     MOVE.W    D4,CCR
  5545.     ASR.B    #1,D3
  5546.     MOVE.W    CCR,D4
  5547.     SCS    D7
  5548.     ANDI.B    #$01,D7
  5549.     ROL.B    #4,D7
  5550.     OR.B    D7,D4
  5551.     MOVE.B    D3,D6
  5552.     ANDI.W    #$00FF,D6
  5553.     OR.B    (A6,D6.W),D4
  5554.     MOVEQ.B    #0,D5
  5555.     ROR.L    #8,D3
  5556.     MOVE.W    (A2)+,D1
  5557.     IF    DEEBUG
  5558.     BRA    DEBUG
  5559.     ELSE
  5560.     JMP    ([A3,D1.W*4])
  5561.     ENDIF
  5562.  
  5563. MCB2B:                ; SRA E
  5564.     SWAP    D3
  5565.     MOVE.W    D4,CCR
  5566.     ASR.B    #1,D3
  5567.     MOVE.W    CCR,D4
  5568.     SCS    D7
  5569.     ANDI.B    #$01,D7
  5570.     ROL.B    #4,D7
  5571.     OR.B    D7,D4
  5572.     MOVE.B    D3,D6
  5573.     ANDI.W    #$00FF,D6
  5574.     OR.B    (A6,D6.W),D4
  5575.     MOVEQ.B    #0,D5
  5576.     SWAP    D3
  5577.     MOVE.W    (A2)+,D1
  5578.     IF    DEEBUG
  5579.     BRA    DEBUG
  5580.     ELSE
  5581.     JMP    ([A3,D1.W*4])
  5582.     ENDIF
  5583.  
  5584. MCB2C:                ; SRA H
  5585.     ROL.W    #8,D2
  5586.     MOVE.W    D4,CCR
  5587.     ASR.B    #1,D2
  5588.     MOVE.W    CCR,D4
  5589.     SCS    D7
  5590.     ANDI.B    #$01,D7
  5591.     ROL.B    #4,D7
  5592.     OR.B    D7,D4
  5593.     MOVE.B    D2,D6
  5594.     ANDI.W    #$00FF,D6
  5595.     OR.B    (A6,D6.W),D4
  5596.     MOVEQ.B    #0,D5
  5597.     ROL.W    #8,D2
  5598.     MOVE.W    (A2)+,D1
  5599.     IF    DEEBUG
  5600.     BRA    DEBUG
  5601.     ELSE
  5602.     JMP    ([A3,D1.W*4])
  5603.     ENDIF
  5604.  
  5605. MCB2D:                ; SRA L
  5606.     MOVE.W    D4,CCR
  5607.     ASR.B    #1,D2
  5608.     MOVE.W    CCR,D4
  5609.     SCS    D7
  5610.     ANDI.B    #$01,D7
  5611.     ROL.B    #4,D7
  5612.     OR.B    D7,D4
  5613.     MOVE.B    D2,D6
  5614.     ANDI.W    #$00FF,D6
  5615.     OR.B    (A6,D6.W),D4
  5616.     MOVEQ.B    #0,D5
  5617.     MOVE.W    (A2)+,D1
  5618.     IF    DEEBUG
  5619.     BRA    DEBUG
  5620.     ELSE
  5621.     JMP    ([A3,D1.W*4])
  5622.     ENDIF
  5623.  
  5624. MCB2E:                ; SRA (HL)
  5625.     MOVEQ    #0,D1
  5626.     MOVE.W    D2,D1
  5627.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5628.     BCS.B    .L1
  5629.     MOVE.B    (A0,D1.L),D6
  5630.     MOVE.W    D4,CCR
  5631.     ASR.B    #1,D6
  5632.     MOVE.W    CCR,D4
  5633.     SCS    D7
  5634.     ANDI.B    #$01,D7
  5635.     ROL.B    #4,D7
  5636.     OR.B    D7,D4
  5637.     ANDI.W    #$00FF,D6
  5638.     OR.B    (A6,D6.W),D4
  5639.     MOVEQ.B    #0,D5
  5640.     MOVE.B    D6,(A0,D1.L)
  5641.     MOVE.W    (A2)+,D1
  5642.     IF    DEEBUG
  5643.     BRA    DEBUG
  5644.     ELSE
  5645.     JMP    ([A3,D1.W*4])
  5646.     ENDIF
  5647. .L1
  5648.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5649.     BHI.B    .L2
  5650.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5651.     ASR.B    #1,D6
  5652.     MOVE.W    CCR,D4
  5653.     SCS    D7
  5654.     ANDI.B    #$01,D7
  5655.     ROL.B    #4,D7
  5656.     OR.B    D7,D4
  5657.     ANDI.W    #$00FF,D6
  5658.     OR.B    (A6,D6.W),D4
  5659.     MOVEQ.B    #0,D5
  5660.     MOVE.W    (A2)+,D1
  5661.     IF    DEEBUG
  5662.     BRA    DEBUG
  5663.     ELSE
  5664.     JMP    ([A3,D1.W*4])
  5665.     ENDIF
  5666. .L2
  5667.     MOVE.B    (A0,D1.L),D6
  5668.     MOVE.W    D4,CCR
  5669.     ASR.B    #1,D6
  5670.     MOVE.W    CCR,D4
  5671.     SCS    D7
  5672.     ANDI.B    #$01,D7
  5673.     ROL.B    #4,D7
  5674.     OR.B    D7,D4
  5675.     ANDI.W    #$00FF,D6
  5676.     OR.B    (A6,D6.W),D4
  5677.     MOVEQ.B    #0,D5
  5678.     MOVE.B    D6,(A0,D1.L)
  5679.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5680.     MOVE.W    (A2)+,D1
  5681.     IF    DEEBUG
  5682.     BRA    DEBUG
  5683.     ELSE
  5684.     JMP    ([A3,D1.W*4])
  5685.     ENDIF
  5686.  
  5687. MCB2F:                ; SRA A
  5688.     MOVE.W    D4,CCR
  5689.     ASR.B    #1,D0
  5690.     MOVE.W    CCR,D4
  5691.     SCS    D7
  5692.     ANDI.B    #$01,D7
  5693.     ROL.B    #4,D7
  5694.     OR.B    D7,D4
  5695.     ANDI.W    #$00FF,D0
  5696.     OR.B    (A6,D0.W),D4
  5697.     MOVEQ.B    #0,D5
  5698.     MOVE.W    (A2)+,D1
  5699.     IF    DEEBUG
  5700.     BRA    DEBUG
  5701.     ELSE
  5702.     JMP    ([A3,D1.W*4])
  5703.     ENDIF
  5704.  
  5705. MCB38:                ; SRL B
  5706.     ROL.W    #8,D3
  5707.     MOVE.W    D4,CCR
  5708.     LSR.B    #1,D3
  5709.     MOVE.W    CCR,D4
  5710.     SCS    D7
  5711.     ANDI.B    #$01,D7
  5712.     ROL.B    #4,D7
  5713.     OR.B    D7,D4
  5714.     MOVE.B    D3,D6
  5715.     ANDI.W    #$00FF,D6
  5716.     OR.B    (A6,D6.W),D4
  5717.     MOVEQ.B    #0,D5
  5718.     ROL.W    #8,D3
  5719.     MOVE.W    (A2)+,D1
  5720.     IF    DEEBUG
  5721.     BRA    DEBUG
  5722.     ELSE
  5723.     JMP    ([A3,D1.W*4])
  5724.     ENDIF
  5725.  
  5726. MCB39:                ; SRL C
  5727.     MOVE.W    D4,CCR
  5728.     LSR.B    #1,D3
  5729.     MOVE.W    CCR,D4
  5730.     SCS    D7
  5731.     ANDI.B    #$01,D7
  5732.     ROL.B    #4,D7
  5733.     OR.B    D7,D4
  5734.     MOVE.B    D3,D6
  5735.     ANDI.W    #$00FF,D6
  5736.     OR.B    (A6,D6.W),D4
  5737.     MOVEQ.B    #0,D5
  5738.     MOVE.W    (A2)+,D1
  5739.     IF    DEEBUG
  5740.     BRA    DEBUG
  5741.     ELSE
  5742.     JMP    ([A3,D1.W*4])
  5743.     ENDIF
  5744.  
  5745. MCB3A:                ; SRL D
  5746.     ROL.L    #8,D3
  5747.     MOVE.W    D4,CCR
  5748.     LSR.B    #1,D3
  5749.     MOVE.W    CCR,D4
  5750.     SCS    D7
  5751.     ANDI.B    #$01,D7
  5752.     ROL.B    #4,D7
  5753.     OR.B    D7,D4
  5754.     MOVE.B    D3,D6
  5755.     ANDI.W    #$00FF,D6
  5756.     OR.B    (A6,D6.W),D4
  5757.     MOVEQ.B    #0,D5
  5758.     ROR.L    #8,D3
  5759.     MOVE.W    (A2)+,D1
  5760.     IF    DEEBUG
  5761.     BRA    DEBUG
  5762.     ELSE
  5763.     JMP    ([A3,D1.W*4])
  5764.     ENDIF
  5765.  
  5766. MCB3B:                ; SRL E
  5767.     SWAP    D3
  5768.     MOVE.W    D4,CCR
  5769.     LSR.B    #1,D3
  5770.     MOVE.W    CCR,D4
  5771.     SCS    D7
  5772.     ANDI.B    #$01,D7
  5773.     ROL.B    #4,D7
  5774.     OR.B    D7,D4
  5775.     MOVE.B    D3,D6
  5776.     ANDI.W    #$00FF,D6
  5777.     OR.B    (A6,D6.W),D4
  5778.     MOVEQ.B    #0,D5
  5779.     SWAP    D3
  5780.     MOVE.W    (A2)+,D1
  5781.     IF    DEEBUG
  5782.     BRA    DEBUG
  5783.     ELSE
  5784.     JMP    ([A3,D1.W*4])
  5785.     ENDIF
  5786.  
  5787. MCB3C:                ; SRL H
  5788.     ROL.W    #8,D2
  5789.     MOVE.W    D4,CCR
  5790.     LSR.B    #1,D2
  5791.     MOVE.W    CCR,D4
  5792.     SCS    D7
  5793.     ANDI.B    #$01,D7
  5794.     ROL.B    #4,D7
  5795.     OR.B    D7,D4
  5796.     MOVE.B    D2,D6
  5797.     ANDI.W    #$00FF,D6
  5798.     OR.B    (A6,D6.W),D4
  5799.     MOVEQ.B    #0,D5
  5800.     ROL.W    #8,D2
  5801.     MOVE.W    (A2)+,D1
  5802.     IF    DEEBUG
  5803.     BRA    DEBUG
  5804.     ELSE
  5805.     JMP    ([A3,D1.W*4])
  5806.     ENDIF
  5807.  
  5808. MCB3D:                ; SRL L
  5809.     MOVE.W    D4,CCR
  5810.     LSR.B    #1,D2
  5811.     MOVE.W    CCR,D4
  5812.     SCS    D7
  5813.     ANDI.B    #$01,D7
  5814.     ROL.B    #4,D7
  5815.     OR.B    D7,D4
  5816.     MOVE.B    D2,D6
  5817.     ANDI.W    #$00FF,D6
  5818.     OR.B    (A6,D6.W),D4
  5819.     MOVEQ.B    #0,D5
  5820.     MOVE.W    (A2)+,D1
  5821.     IF    DEEBUG
  5822.     BRA    DEBUG
  5823.     ELSE
  5824.     JMP    ([A3,D1.W*4])
  5825.     ENDIF
  5826.  
  5827. MCB3E:                ; SRL (HL)
  5828.     MOVEQ    #0,D1
  5829.     MOVE.W    D2,D1
  5830.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  5831.     BCS.B    .L1
  5832.     MOVE.B    (A0,D1.L),D6
  5833.     MOVE.W    D4,CCR
  5834.     LSR.B    #1,D6
  5835.     MOVE.W    CCR,D4
  5836.     SCS    D7
  5837.     ANDI.B    #$01,D7
  5838.     ROL.B    #4,D7
  5839.     OR.B    D7,D4
  5840.     ANDI.W    #$00FF,D6
  5841.     OR.B    (A6,D6.W),D4
  5842.     MOVEQ.B    #0,D5
  5843.     MOVE.B    D6,(A0,D1.L)
  5844.     MOVE.W    (A2)+,D1
  5845.     IF    DEEBUG
  5846.     BRA    DEBUG
  5847.     ELSE
  5848.     JMP    ([A3,D1.W*4])
  5849.     ENDIF
  5850. .L1
  5851.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  5852.     BHI.B    .L2
  5853.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  5854.     LSR.B    #1,D6
  5855.     MOVE.W    CCR,D4
  5856.     SCS    D7
  5857.     ANDI.B    #$01,D7
  5858.     ROL.B    #4,D7
  5859.     OR.B    D7,D4
  5860.     ANDI.W    #$00FF,D6
  5861.     OR.B    (A6,D6.W),D4
  5862.     MOVEQ.B    #0,D5
  5863.     MOVE.W    (A2)+,D1
  5864.     IF    DEEBUG
  5865.     BRA    DEBUG
  5866.     ELSE
  5867.     JMP    ([A3,D1.W*4])
  5868.     ENDIF
  5869. .L2
  5870.     MOVE.B    (A0,D1.L),D6
  5871.     MOVE.W    D4,CCR
  5872.     LSR.B    #1,D6
  5873.     MOVE.W    CCR,D4
  5874.     SCS    D7
  5875.     ANDI.B    #$01,D7
  5876.     ROL.B    #4,D7
  5877.     OR.B    D7,D4
  5878.     ANDI.W    #$00FF,D6
  5879.     OR.B    (A6,D6.W),D4
  5880.     MOVEQ.B    #0,D5
  5881.     MOVE.B    D6,(A0,D1.L)
  5882.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  5883.     MOVE.W    (A2)+,D1
  5884.     IF    DEEBUG
  5885.     BRA    DEBUG
  5886.     ELSE
  5887.     JMP    ([A3,D1.W*4])
  5888.     ENDIF
  5889.  
  5890. MCB3F:                ; SRL A
  5891.     MOVE.W    D4,CCR
  5892.     LSR.B    #1,D0
  5893.     MOVE.W    CCR,D4
  5894.     SCS    D7
  5895.     ANDI.B    #$01,D7
  5896.     ROL.B    #4,D7
  5897.     OR.B    D7,D4
  5898.     ANDI.W    #$00FF,D0
  5899.     OR.B    (A6,D0.W),D4
  5900.     MOVEQ.B    #0,D5
  5901.     MOVE.W    (A2)+,D1
  5902.     IF    DEEBUG
  5903.     BRA    DEBUG
  5904.     ELSE
  5905.     JMP    ([A3,D1.W*4])
  5906.     ENDIF
  5907.  
  5908.  
  5909. MCB40:                ; BIT 0,B
  5910.     MOVE.W    D4,CCR
  5911.     BTST    #8,D3
  5912.     MOVE.W    CCR,D4
  5913.     MOVE.W    (A2)+,D1
  5914.     IF    DEEBUG
  5915.     BRA    DEBUG
  5916.     ELSE
  5917.     JMP    ([A3,D1.W*4])
  5918.     ENDIF
  5919.  
  5920. MCB41:                ; BIT 0,C
  5921.     MOVE.W    D4,CCR
  5922.     BTST    #0,D3
  5923.     MOVE.W    CCR,D4
  5924.     MOVE.W    (A2)+,D1
  5925.     IF    DEEBUG
  5926.     BRA    DEBUG
  5927.     ELSE
  5928.     JMP    ([A3,D1.W*4])
  5929.     ENDIF
  5930.  
  5931. MCB42:                ; BIT 0,D
  5932.     MOVE.W    D4,CCR
  5933.     BTST    #24,D3
  5934.     MOVE.W    CCR,D4
  5935.     MOVE.W    (A2)+,D1
  5936.     IF    DEEBUG
  5937.     BRA    DEBUG
  5938.     ELSE
  5939.     JMP    ([A3,D1.W*4])
  5940.     ENDIF
  5941.  
  5942. MCB43:                ; BIT 0,E
  5943.     MOVE.W    D4,CCR
  5944.     BTST    #16,D3
  5945.     MOVE.W    CCR,D4
  5946.     MOVE.W    (A2)+,D1
  5947.     IF    DEEBUG
  5948.     BRA    DEBUG
  5949.     ELSE
  5950.     JMP    ([A3,D1.W*4])
  5951.     ENDIF
  5952.  
  5953. MCB44:                ; BIT 0,H
  5954.     MOVE.W    D4,CCR
  5955.     BTST    #8,D2
  5956.     MOVE.W    CCR,D4
  5957.     MOVE.W    (A2)+,D1
  5958.     IF    DEEBUG
  5959.     BRA    DEBUG
  5960.     ELSE
  5961.     JMP    ([A3,D1.W*4])
  5962.     ENDIF
  5963.  
  5964. MCB45:                ; BIT 0,L
  5965.     MOVE.W    D4,CCR
  5966.     BTST    #0,D2
  5967.     MOVE.W    CCR,D4
  5968.     MOVE.W    (A2)+,D1
  5969.     IF    DEEBUG
  5970.     BRA    DEBUG
  5971.     ELSE
  5972.     JMP    ([A3,D1.W*4])
  5973.     ENDIF
  5974.  
  5975. MCB46:                ; BIT 0,(HL)
  5976.     MOVEQ    #0,D1
  5977.     MOVE.W    D2,D1
  5978.     MOVE.B    (A0,D1.L),D7
  5979.     MOVE.W    D4,CCR
  5980.     BTST    #0,D7
  5981.     MOVE.W    CCR,D4
  5982.     MOVE.W    (A2)+,D1
  5983.     IF    DEEBUG
  5984.     BRA    DEBUG
  5985.     ELSE
  5986.     JMP    ([A3,D1.W*4])
  5987.     ENDIF
  5988.  
  5989. MCB47:                ; BIT 0,A
  5990.     MOVE.W    D4,CCR
  5991.     BTST    #0,D0
  5992.     MOVE.W    CCR,D4
  5993.     MOVE.W    (A2)+,D1
  5994.     IF    DEEBUG
  5995.     BRA    DEBUG
  5996.     ELSE
  5997.     JMP    ([A3,D1.W*4])
  5998.     ENDIF
  5999.  
  6000. MCB48:                ; BIT 1,B
  6001.     MOVE.W    D4,CCR
  6002.     BTST    #9,D3
  6003.     MOVE.W    CCR,D4
  6004.     MOVE.W    (A2)+,D1
  6005.     IF    DEEBUG
  6006.     BRA    DEBUG
  6007.     ELSE
  6008.     JMP    ([A3,D1.W*4])
  6009.     ENDIF
  6010.  
  6011. MCB49:                ; BIT 1,C
  6012.     MOVE.W    D4,CCR
  6013.     BTST    #1,D3
  6014.     MOVE.W    CCR,D4
  6015.     MOVE.W    (A2)+,D1
  6016.     IF    DEEBUG
  6017.     BRA    DEBUG
  6018.     ELSE
  6019.     JMP    ([A3,D1.W*4])
  6020.     ENDIF
  6021.  
  6022. MCB4A:                ; BIT 1,D
  6023.     MOVE.W    D4,CCR
  6024.     BTST    #25,D3
  6025.     MOVE.W    CCR,D4
  6026.     MOVE.W    (A2)+,D1
  6027.     IF    DEEBUG
  6028.     BRA    DEBUG
  6029.     ELSE
  6030.     JMP    ([A3,D1.W*4])
  6031.     ENDIF
  6032.  
  6033. MCB4B:                ; BIT 1,E
  6034.     MOVE.W    D4,CCR
  6035.     BTST    #17,D3
  6036.     MOVE.W    CCR,D4
  6037.     MOVE.W    (A2)+,D1
  6038.     IF    DEEBUG
  6039.     BRA    DEBUG
  6040.     ELSE
  6041.     JMP    ([A3,D1.W*4])
  6042.     ENDIF
  6043.  
  6044. MCB4C:                ; BIT 1,H
  6045.     MOVE.W    D4,CCR
  6046.     BTST    #9,D2
  6047.     MOVE.W    CCR,D4
  6048.     MOVE.W    (A2)+,D1
  6049.     IF    DEEBUG
  6050.     BRA    DEBUG
  6051.     ELSE
  6052.     JMP    ([A3,D1.W*4])
  6053.     ENDIF
  6054.  
  6055. MCB4D:                ; BIT 1,L
  6056.     MOVE.W    D4,CCR
  6057.     BTST    #1,D2
  6058.     MOVE.W    CCR,D4
  6059.     MOVE.W    (A2)+,D1
  6060.     IF    DEEBUG
  6061.     BRA    DEBUG
  6062.     ELSE
  6063.     JMP    ([A3,D1.W*4])
  6064.     ENDIF
  6065.  
  6066. MCB4E:                ; BIT 1,(HL)
  6067.     MOVEQ    #0,D1
  6068.     MOVE.W    D2,D1
  6069.     MOVE.B    (A0,D1.L),D7
  6070.     MOVE.W    D4,CCR
  6071.     BTST    #1,D7
  6072.     MOVE.W    CCR,D4
  6073.     MOVE.W    (A2)+,D1
  6074.     IF    DEEBUG
  6075.     BRA    DEBUG
  6076.     ELSE
  6077.     JMP    ([A3,D1.W*4])
  6078.     ENDIF
  6079.  
  6080. MCB4F:                ; BIT 1,A
  6081.     MOVE.W    D4,CCR
  6082.     BTST    #1,D0
  6083.     MOVE.W    CCR,D4
  6084.     MOVE.W    (A2)+,D1
  6085.     IF    DEEBUG
  6086.     BRA    DEBUG
  6087.     ELSE
  6088.     JMP    ([A3,D1.W*4])
  6089.     ENDIF
  6090.  
  6091. MCB50:                ; BIT 2,B
  6092.     MOVE.W    D4,CCR
  6093.     BTST    #10,D3
  6094.     MOVE.W    CCR,D4
  6095.     MOVE.W    (A2)+,D1
  6096.     IF    DEEBUG
  6097.     BRA    DEBUG
  6098.     ELSE
  6099.     JMP    ([A3,D1.W*4])
  6100.     ENDIF
  6101.  
  6102. MCB51:                ; BIT 2,C
  6103.     MOVE.W    D4,CCR
  6104.     BTST    #2,D3
  6105.     MOVE.W    CCR,D4
  6106.     MOVE.W    (A2)+,D1
  6107.     IF    DEEBUG
  6108.     BRA    DEBUG
  6109.     ELSE
  6110.     JMP    ([A3,D1.W*4])
  6111.     ENDIF
  6112.  
  6113. MCB52:                ; BIT 2,D
  6114.     MOVE.W    D4,CCR
  6115.     BTST    #26,D3
  6116.     MOVE.W    CCR,D4
  6117.     MOVE.W    (A2)+,D1
  6118.     IF    DEEBUG
  6119.     BRA    DEBUG
  6120.     ELSE
  6121.     JMP    ([A3,D1.W*4])
  6122.     ENDIF
  6123.  
  6124. MCB53:                ; BIT 2,E
  6125.     MOVE.W    D4,CCR
  6126.     BTST    #18,D3
  6127.     MOVE.W    CCR,D4
  6128.     MOVE.W    (A2)+,D1
  6129.     IF    DEEBUG
  6130.     BRA    DEBUG
  6131.     ELSE
  6132.     JMP    ([A3,D1.W*4])
  6133.     ENDIF
  6134.  
  6135. MCB54:                ; BIT 2,H
  6136.     MOVE.W    D4,CCR
  6137.     BTST    #10,D2
  6138.     MOVE.W    CCR,D4
  6139.     MOVE.W    (A2)+,D1
  6140.     IF    DEEBUG
  6141.     BRA    DEBUG
  6142.     ELSE
  6143.     JMP    ([A3,D1.W*4])
  6144.     ENDIF
  6145.  
  6146. MCB55:                ; BIT 2,L
  6147.     MOVE.W    D4,CCR
  6148.     BTST    #2,D2
  6149.     MOVE.W    CCR,D4
  6150.     MOVE.W    (A2)+,D1
  6151.     IF    DEEBUG
  6152.     BRA    DEBUG
  6153.     ELSE
  6154.     JMP    ([A3,D1.W*4])
  6155.     ENDIF
  6156.  
  6157. MCB56:                ; BIT 2,(HL)
  6158.     MOVEQ    #0,D1
  6159.     MOVE.W    D2,D1
  6160.     MOVE.B    (A0,D1.L),D7
  6161.     MOVE.W    D4,CCR
  6162.     BTST    #2,D7
  6163.     MOVE.W    CCR,D4
  6164.     MOVE.W    (A2)+,D1
  6165.     IF    DEEBUG
  6166.     BRA    DEBUG
  6167.     ELSE
  6168.     JMP    ([A3,D1.W*4])
  6169.     ENDIF
  6170.  
  6171. MCB57:                ; BIT 2,A
  6172.     MOVE.W    D4,CCR
  6173.     BTST    #2,D0
  6174.     MOVE.W    CCR,D4
  6175.     MOVE.W    (A2)+,D1
  6176.     IF    DEEBUG
  6177.     BRA    DEBUG
  6178.     ELSE
  6179.     JMP    ([A3,D1.W*4])
  6180.     ENDIF
  6181.  
  6182. MCB58:                ; BIT 3,B
  6183.     MOVE.W    D4,CCR
  6184.     BTST    #11,D3
  6185.     MOVE.W    CCR,D4
  6186.     MOVE.W    (A2)+,D1
  6187.     IF    DEEBUG
  6188.     BRA    DEBUG
  6189.     ELSE
  6190.     JMP    ([A3,D1.W*4])
  6191.     ENDIF
  6192.  
  6193. MCB59:                ; BIT 3,C
  6194.     MOVE.W    D4,CCR
  6195.     BTST    #3,D3
  6196.     MOVE.W    CCR,D4
  6197.     MOVE.W    (A2)+,D1
  6198.     IF    DEEBUG
  6199.     BRA    DEBUG
  6200.     ELSE
  6201.     JMP    ([A3,D1.W*4])
  6202.     ENDIF
  6203.  
  6204. MCB5A:                ; BIT 3,D
  6205.     MOVE.W    D4,CCR
  6206.     BTST    #27,D3
  6207.     MOVE.W    CCR,D4
  6208.     MOVE.W    (A2)+,D1
  6209.     IF    DEEBUG
  6210.     BRA    DEBUG
  6211.     ELSE
  6212.     JMP    ([A3,D1.W*4])
  6213.     ENDIF
  6214.  
  6215. MCB5B:                ; BIT 3,E
  6216.     MOVE.W    D4,CCR
  6217.     BTST    #19,D3
  6218.     MOVE.W    CCR,D4
  6219.     MOVE.W    (A2)+,D1
  6220.     IF    DEEBUG
  6221.     BRA    DEBUG
  6222.     ELSE
  6223.     JMP    ([A3,D1.W*4])
  6224.     ENDIF
  6225.  
  6226. MCB5C:                ; BIT 3,H
  6227.     MOVE.W    D4,CCR
  6228.     BTST    #11,D2
  6229.     MOVE.W    CCR,D4
  6230.     MOVE.W    (A2)+,D1
  6231.     IF    DEEBUG
  6232.     BRA    DEBUG
  6233.     ELSE
  6234.     JMP    ([A3,D1.W*4])
  6235.     ENDIF
  6236.  
  6237. MCB5D:                ; BIT 3,L
  6238.     MOVE.W    D4,CCR
  6239.     BTST    #3,D2
  6240.     MOVE.W    CCR,D4
  6241.     MOVE.W    (A2)+,D1
  6242.     IF    DEEBUG
  6243.     BRA    DEBUG
  6244.     ELSE
  6245.     JMP    ([A3,D1.W*4])
  6246.     ENDIF
  6247.  
  6248. MCB5E:                ; BIT 3,(HL)
  6249.     MOVEQ    #0,D1
  6250.     MOVE.W    D2,D1
  6251.     MOVE.B    (A0,D1.L),D7
  6252.     MOVE.W    D4,CCR
  6253.     BTST    #3,D7
  6254.     MOVE.W    CCR,D4
  6255.     MOVE.W    (A2)+,D1
  6256.     IF    DEEBUG
  6257.     BRA    DEBUG
  6258.     ELSE
  6259.     JMP    ([A3,D1.W*4])
  6260.     ENDIF
  6261.  
  6262. MCB5F:                ; BIT 3,A
  6263.     MOVE.W    D4,CCR
  6264.     BTST    #3,D0
  6265.     MOVE.W    CCR,D4
  6266.     MOVE.W    (A2)+,D1
  6267.     IF    DEEBUG
  6268.     BRA    DEBUG
  6269.     ELSE
  6270.     JMP    ([A3,D1.W*4])
  6271.     ENDIF
  6272.  
  6273. MCB60:                ; BIT 4,B
  6274.     MOVE.W    D4,CCR
  6275.     BTST    #12,D3
  6276.     MOVE.W    CCR,D4
  6277.     MOVE.W    (A2)+,D1
  6278.     IF    DEEBUG
  6279.     BRA    DEBUG
  6280.     ELSE
  6281.     JMP    ([A3,D1.W*4])
  6282.     ENDIF
  6283.  
  6284. MCB61:                ; BIT 4,C
  6285.     MOVE.W    D4,CCR
  6286.     BTST    #4,D3
  6287.     MOVE.W    CCR,D4
  6288.     MOVE.W    (A2)+,D1
  6289.     IF    DEEBUG
  6290.     BRA    DEBUG
  6291.     ELSE
  6292.     JMP    ([A3,D1.W*4])
  6293.     ENDIF
  6294.  
  6295. MCB62:                ; BIT 4,D
  6296.     MOVE.W    D4,CCR
  6297.     BTST    #28,D3
  6298.     MOVE.W    CCR,D4
  6299.     MOVE.W    (A2)+,D1
  6300.     IF    DEEBUG
  6301.     BRA    DEBUG
  6302.     ELSE
  6303.     JMP    ([A3,D1.W*4])
  6304.     ENDIF
  6305.  
  6306. MCB63:                ; BIT 4,E
  6307.     MOVE.W    D4,CCR
  6308.     BTST    #20,D3
  6309.     MOVE.W    CCR,D4
  6310.     MOVE.W    (A2)+,D1
  6311.     IF    DEEBUG
  6312.     BRA    DEBUG
  6313.     ELSE
  6314.     JMP    ([A3,D1.W*4])
  6315.     ENDIF
  6316.  
  6317. MCB64:                ; BIT 4,H
  6318.     MOVE.W    D4,CCR
  6319.     BTST    #12,D2
  6320.     MOVE.W    CCR,D4
  6321.     MOVE.W    (A2)+,D1
  6322.     IF    DEEBUG
  6323.     BRA    DEBUG
  6324.     ELSE
  6325.     JMP    ([A3,D1.W*4])
  6326.     ENDIF
  6327.  
  6328. MCB65:                ; BIT 4,L
  6329.     MOVE.W    D4,CCR
  6330.     BTST    #4,D2
  6331.     MOVE.W    CCR,D4
  6332.     MOVE.W    (A2)+,D1
  6333.     IF    DEEBUG
  6334.     BRA    DEBUG
  6335.     ELSE
  6336.     JMP    ([A3,D1.W*4])
  6337.     ENDIF
  6338.  
  6339. MCB66:                ; BIT 4,(HL)
  6340.     MOVEQ    #0,D1
  6341.     MOVE.W    D2,D1
  6342.     MOVE.B    (A0,D1.L),D7
  6343.     MOVE.W    D4,CCR
  6344.     BTST    #4,D7
  6345.     MOVE.W    CCR,D4
  6346.     MOVE.W    (A2)+,D1
  6347.     IF    DEEBUG
  6348.     BRA    DEBUG
  6349.     ELSE
  6350.     JMP    ([A3,D1.W*4])
  6351.     ENDIF
  6352.  
  6353. MCB67:                ; BIT 4,A
  6354.     MOVE.W    D4,CCR
  6355.     BTST    #4,D0
  6356.     MOVE.W    CCR,D4
  6357.     MOVE.W    (A2)+,D1
  6358.     IF    DEEBUG
  6359.     BRA    DEBUG
  6360.     ELSE
  6361.     JMP    ([A3,D1.W*4])
  6362.     ENDIF
  6363.  
  6364. MCB68:                ; BIT 5,B
  6365.     MOVE.W    D4,CCR
  6366.     BTST    #13,D3
  6367.     MOVE.W    CCR,D4
  6368.     MOVE.W    (A2)+,D1
  6369.     IF    DEEBUG
  6370.     BRA    DEBUG
  6371.     ELSE
  6372.     JMP    ([A3,D1.W*4])
  6373.     ENDIF
  6374.  
  6375. MCB69:                ; BIT 5,C
  6376.     MOVE.W    D4,CCR
  6377.     BTST    #5,D3
  6378.     MOVE.W    CCR,D4
  6379.     MOVE.W    (A2)+,D1
  6380.     IF    DEEBUG
  6381.     BRA    DEBUG
  6382.     ELSE
  6383.     JMP    ([A3,D1.W*4])
  6384.     ENDIF
  6385.  
  6386. MCB6A:                ; BIT 5,D
  6387.     MOVE.W    D4,CCR
  6388.     BTST    #29,D3
  6389.     MOVE.W    CCR,D4
  6390.     MOVE.W    (A2)+,D1
  6391.     IF    DEEBUG
  6392.     BRA    DEBUG
  6393.     ELSE
  6394.     JMP    ([A3,D1.W*4])
  6395.     ENDIF
  6396.  
  6397. MCB6B:                ; BIT 5,E
  6398.     MOVE.W    D4,CCR
  6399.     BTST    #21,D3
  6400.     MOVE.W    CCR,D4
  6401.     MOVE.W    (A2)+,D1
  6402.     IF    DEEBUG
  6403.     BRA    DEBUG
  6404.     ELSE
  6405.     JMP    ([A3,D1.W*4])
  6406.     ENDIF
  6407.  
  6408. MCB6C:                ; BIT 5,H
  6409.     MOVE.W    D4,CCR
  6410.     BTST    #13,D2
  6411.     MOVE.W    CCR,D4
  6412.     MOVE.W    (A2)+,D1
  6413.     IF    DEEBUG
  6414.     BRA    DEBUG
  6415.     ELSE
  6416.     JMP    ([A3,D1.W*4])
  6417.     ENDIF
  6418.  
  6419. MCB6D:                ; BIT 5,L
  6420.     MOVE.W    D4,CCR
  6421.     BTST    #5,D2
  6422.     MOVE.W    CCR,D4
  6423.     MOVE.W    (A2)+,D1
  6424.     IF    DEEBUG
  6425.     BRA    DEBUG
  6426.     ELSE
  6427.     JMP    ([A3,D1.W*4])
  6428.     ENDIF
  6429.  
  6430. MCB6E:                ; BIT 5,(HL)
  6431.     MOVEQ    #0,D1
  6432.     MOVE.W    D2,D1
  6433.     MOVE.B    (A0,D1.L),D7
  6434.     MOVE.W    D4,CCR
  6435.     BTST    #5,D7
  6436.     MOVE.W    CCR,D4
  6437.     MOVE.W    (A2)+,D1
  6438.     IF    DEEBUG
  6439.     BRA    DEBUG
  6440.     ELSE
  6441.     JMP    ([A3,D1.W*4])
  6442.     ENDIF
  6443.  
  6444. MCB6F:                ; BIT 5,A
  6445.     MOVE.W    D4,CCR
  6446.     BTST    #5,D0
  6447.     MOVE.W    CCR,D4
  6448.     MOVE.W    (A2)+,D1
  6449.     IF    DEEBUG
  6450.     BRA    DEBUG
  6451.     ELSE
  6452.     JMP    ([A3,D1.W*4])
  6453.     ENDIF
  6454.  
  6455. MCB70:                ; BIT 6,B
  6456.     MOVE.W    D4,CCR
  6457.     BTST    #14,D3
  6458.     MOVE.W    CCR,D4
  6459.     MOVE.W    (A2)+,D1
  6460.     IF    DEEBUG
  6461.     BRA    DEBUG
  6462.     ELSE
  6463.     JMP    ([A3,D1.W*4])
  6464.     ENDIF
  6465.  
  6466. MCB71:                ; BIT 6,C
  6467.     MOVE.W    D4,CCR
  6468.     BTST    #6,D3
  6469.     MOVE.W    CCR,D4
  6470.     MOVE.W    (A2)+,D1
  6471.     IF    DEEBUG
  6472.     BRA    DEBUG
  6473.     ELSE
  6474.     JMP    ([A3,D1.W*4])
  6475.     ENDIF
  6476.  
  6477. MCB72:                ; BIT 6,D
  6478.     MOVE.W    D4,CCR
  6479.     BTST    #30,D3
  6480.     MOVE.W    CCR,D4
  6481.     MOVE.W    (A2)+,D1
  6482.     IF    DEEBUG
  6483.     BRA    DEBUG
  6484.     ELSE
  6485.     JMP    ([A3,D1.W*4])
  6486.     ENDIF
  6487.  
  6488. MCB73:                ; BIT 6,E
  6489.     MOVE.W    D4,CCR
  6490.     BTST    #22,D3
  6491.     MOVE.W    CCR,D4
  6492.     MOVE.W    (A2)+,D1
  6493.     IF    DEEBUG
  6494.     BRA    DEBUG
  6495.     ELSE
  6496.     JMP    ([A3,D1.W*4])
  6497.     ENDIF
  6498.  
  6499. MCB74:                ; BIT 6,H
  6500.     MOVE.W    D4,CCR
  6501.     BTST    #14,D2
  6502.     MOVE.W    CCR,D4
  6503.     MOVE.W    (A2)+,D1
  6504.     IF    DEEBUG
  6505.     BRA    DEBUG
  6506.     ELSE
  6507.     JMP    ([A3,D1.W*4])
  6508.     ENDIF
  6509.  
  6510. MCB75:                ; BIT 6,L
  6511.     MOVE.W    D4,CCR
  6512.     BTST    #6,D2
  6513.     MOVE.W    CCR,D4
  6514.     MOVE.W    (A2)+,D1
  6515.     IF    DEEBUG
  6516.     BRA    DEBUG
  6517.     ELSE
  6518.     JMP    ([A3,D1.W*4])
  6519.     ENDIF
  6520.  
  6521. MCB76:                ; BIT 6,(HL)
  6522.     MOVEQ    #0,D1
  6523.     MOVE.W    D2,D1
  6524.     MOVE.B    (A0,D1.L),D7
  6525.     MOVE.W    D4,CCR
  6526.     BTST    #6,D7
  6527.     MOVE.W    CCR,D4
  6528.     MOVE.W    (A2)+,D1
  6529.     IF    DEEBUG
  6530.     BRA    DEBUG
  6531.     ELSE
  6532.     JMP    ([A3,D1.W*4])
  6533.     ENDIF
  6534.  
  6535. MCB77:                ; BIT 6,A
  6536.     MOVE.W    D4,CCR
  6537.     BTST    #6,D0
  6538.     MOVE.W    CCR,D4
  6539.     MOVE.W    (A2)+,D1
  6540.     IF    DEEBUG
  6541.     BRA    DEBUG
  6542.     ELSE
  6543.     JMP    ([A3,D1.W*4])
  6544.     ENDIF
  6545.  
  6546. MCB78:                ; BIT 7,B
  6547.     MOVE.W    D4,CCR
  6548.     BTST    #15,D3
  6549.     MOVE.W    CCR,D4
  6550.     MOVE.W    (A2)+,D1
  6551.     IF    DEEBUG
  6552.     BRA    DEBUG
  6553.     ELSE
  6554.     JMP    ([A3,D1.W*4])
  6555.     ENDIF
  6556.  
  6557. MCB79:                ; BIT 7,C
  6558.     MOVE.W    D4,CCR
  6559.     BTST    #7,D3
  6560.     MOVE.W    CCR,D4
  6561.     MOVE.W    (A2)+,D1
  6562.     IF    DEEBUG
  6563.     BRA    DEBUG
  6564.     ELSE
  6565.     JMP    ([A3,D1.W*4])
  6566.     ENDIF
  6567.  
  6568. MCB7A:                ; BIT 7,D
  6569.     MOVE.W    D4,CCR
  6570.     BTST    #31,D3
  6571.     MOVE.W    CCR,D4
  6572.     MOVE.W    (A2)+,D1
  6573.     IF    DEEBUG
  6574.     BRA    DEBUG
  6575.     ELSE
  6576.     JMP    ([A3,D1.W*4])
  6577.     ENDIF
  6578.  
  6579. MCB7B:                ; BIT 7,E
  6580.     MOVE.W    D4,CCR
  6581.     BTST    #23,D3
  6582.     MOVE.W    CCR,D4
  6583.     MOVE.W    (A2)+,D1
  6584.     IF    DEEBUG
  6585.     BRA    DEBUG
  6586.     ELSE
  6587.     JMP    ([A3,D1.W*4])
  6588.     ENDIF
  6589.  
  6590. MCB7C:                ; BIT 7,H
  6591.     MOVE.W    D4,CCR
  6592.     BTST    #15,D2
  6593.     MOVE.W    CCR,D4
  6594.     MOVE.W    (A2)+,D1
  6595.     IF    DEEBUG
  6596.     BRA    DEBUG
  6597.     ELSE
  6598.     JMP    ([A3,D1.W*4])
  6599.     ENDIF
  6600.  
  6601. MCB7D:                ; BIT 7,L
  6602.     MOVE.W    D4,CCR
  6603.     BTST    #7,D2
  6604.     MOVE.W    CCR,D4
  6605.     MOVE.W    (A2)+,D1
  6606.     IF    DEEBUG
  6607.     BRA    DEBUG
  6608.     ELSE
  6609.     JMP    ([A3,D1.W*4])
  6610.     ENDIF
  6611.  
  6612. MCB7E:                ; BIT 7,(HL)
  6613.     MOVEQ    #0,D1
  6614.     MOVE.W    D2,D1
  6615.     MOVE.B    (A0,D1.L),D7
  6616.     MOVE.W    D4,CCR
  6617.     BTST    #7,D7
  6618.     MOVE.W    CCR,D4
  6619.     MOVE.W    (A2)+,D1
  6620.     IF    DEEBUG
  6621.     BRA    DEBUG
  6622.     ELSE
  6623.     JMP    ([A3,D1.W*4])
  6624.     ENDIF
  6625.  
  6626. MCB7F:                ; BIT 7,A
  6627.     MOVE.W    D4,CCR
  6628.     BTST    #7,D0
  6629.     MOVE.W    CCR,D4
  6630.     MOVE.W    (A2)+,D1
  6631.     IF    DEEBUG
  6632.     BRA    DEBUG
  6633.     ELSE
  6634.     JMP    ([A3,D1.W*4])
  6635.     ENDIF
  6636.  
  6637. MCB80:                ; RES 0,B
  6638.     BCLR    #8,D3
  6639.     MOVE.W    (A2)+,D1
  6640.     IF    DEEBUG
  6641.     BRA    DEBUG
  6642.     ELSE
  6643.     JMP    ([A3,D1.W*4])
  6644.     ENDIF
  6645.  
  6646. MCB81:                ; RES 0,C
  6647.     BCLR    #0,D3
  6648.     MOVE.W    (A2)+,D1
  6649.     IF    DEEBUG
  6650.     BRA    DEBUG
  6651.     ELSE
  6652.     JMP    ([A3,D1.W*4])
  6653.     ENDIF
  6654.  
  6655. MCB82:                ; RES 0,D
  6656.     BCLR    #24,D3
  6657.     MOVE.W    (A2)+,D1
  6658.     IF    DEEBUG
  6659.     BRA    DEBUG
  6660.     ELSE
  6661.     JMP    ([A3,D1.W*4])
  6662.     ENDIF
  6663.  
  6664. MCB83:                ; RES 0,E
  6665.     BCLR    #16,D3
  6666.     MOVE.W    (A2)+,D1
  6667.     IF    DEEBUG
  6668.     BRA    DEBUG
  6669.     ELSE
  6670.     JMP    ([A3,D1.W*4])
  6671.     ENDIF
  6672.  
  6673. MCB84:                ; RES 0,H
  6674.     BCLR    #8,D2
  6675.     MOVE.W    (A2)+,D1
  6676.     IF    DEEBUG
  6677.     BRA    DEBUG
  6678.     ELSE
  6679.     JMP    ([A3,D1.W*4])
  6680.     ENDIF
  6681.  
  6682. MCB85:                ; RES 0,L
  6683.     BCLR    #0,D2
  6684.     MOVE.W    (A2)+,D1
  6685.     IF    DEEBUG
  6686.     BRA    DEBUG
  6687.     ELSE
  6688.     JMP    ([A3,D1.W*4])
  6689.     ENDIF
  6690.  
  6691. MCB86:                ; RES 0,(HL)
  6692.     MOVEQ    #0,D1
  6693.     MOVE.W    D2,D1
  6694.     CMPI.W    #$4000,D1    
  6695.     BCS.B    .L1
  6696.     BCLR    #0,(A0,D1.L)
  6697.     MOVE.W    (A2)+,D1
  6698.     IF    DEEBUG
  6699.     BRA    DEBUG
  6700.     ELSE
  6701.     JMP    ([A3,D1.W*4])
  6702.     ENDIF
  6703. .L1
  6704.     CMPI.W    #$3BFF,D1    
  6705.     BHI.B    .L2
  6706.     MOVE.W    (A2)+,D1
  6707.     IF    DEEBUG
  6708.     BRA    DEBUG
  6709.     ELSE
  6710.     JMP    ([A3,D1.W*4])
  6711.     ENDIF
  6712. .L2
  6713.     BCLR    #0,(A0,D1.L)
  6714.     MOVE.B    (A0,D1.L),D6    
  6715.     BSR    _screenwrite
  6716.     MOVE.W    (A2)+,D1
  6717.     IF    DEEBUG
  6718.     BRA    DEBUG
  6719.     ELSE
  6720.     JMP    ([A3,D1.W*4])
  6721.     ENDIF
  6722.  
  6723. MCB87:                ; RES 0,A
  6724.     BCLR    #0,D0
  6725.     MOVE.W    (A2)+,D1
  6726.     IF    DEEBUG
  6727.     BRA    DEBUG
  6728.     ELSE
  6729.     JMP    ([A3,D1.W*4])
  6730.     ENDIF
  6731.  
  6732. MCB88:                ; RES 1,B
  6733.     BCLR    #9,D3
  6734.     MOVE.W    (A2)+,D1
  6735.     IF    DEEBUG
  6736.     BRA    DEBUG
  6737.     ELSE
  6738.     JMP    ([A3,D1.W*4])
  6739.     ENDIF
  6740.  
  6741. MCB89:                ; RES 1,C
  6742.     BCLR    #1,D3
  6743.     MOVE.W    (A2)+,D1
  6744.     IF    DEEBUG
  6745.     BRA    DEBUG
  6746.     ELSE
  6747.     JMP    ([A3,D1.W*4])
  6748.     ENDIF
  6749.  
  6750. MCB8A:                ; RES 1,D
  6751.     BCLR    #25,D3
  6752.     MOVE.W    (A2)+,D1
  6753.     IF    DEEBUG
  6754.     BRA    DEBUG
  6755.     ELSE
  6756.     JMP    ([A3,D1.W*4])
  6757.     ENDIF
  6758.  
  6759. MCB8B:                ; RES 1,E
  6760.     BCLR    #17,D3
  6761.     MOVE.W    (A2)+,D1
  6762.     IF    DEEBUG
  6763.     BRA    DEBUG
  6764.     ELSE
  6765.     JMP    ([A3,D1.W*4])
  6766.     ENDIF
  6767.  
  6768. MCB8C:                ; RES 1,H
  6769.     BCLR    #9,D2
  6770.     MOVE.W    (A2)+,D1
  6771.     IF    DEEBUG
  6772.     BRA    DEBUG
  6773.     ELSE
  6774.     JMP    ([A3,D1.W*4])
  6775.     ENDIF
  6776.  
  6777. MCB8D:                ; RES 1,L
  6778.     BCLR    #1,D2
  6779.     MOVE.W    (A2)+,D1
  6780.     IF    DEEBUG
  6781.     BRA    DEBUG
  6782.     ELSE
  6783.     JMP    ([A3,D1.W*4])
  6784.     ENDIF
  6785.  
  6786. MCB8E:                ; RES 1,(HL)
  6787.     MOVEQ    #0,D1
  6788.     MOVE.W    D2,D1
  6789.     CMPI.W    #$4000,D1    
  6790.     BCS.B    .L1
  6791.     BCLR    #1,(A0,D1.L)
  6792.     MOVE.W    (A2)+,D1
  6793.     IF    DEEBUG
  6794.     BRA    DEBUG
  6795.     ELSE
  6796.     JMP    ([A3,D1.W*4])
  6797.     ENDIF
  6798. .L1
  6799.     CMPI.W    #$3BFF,D1    
  6800.     BHI.B    .L2
  6801.     MOVE.W    (A2)+,D1
  6802.     IF    DEEBUG
  6803.     BRA    DEBUG
  6804.     ELSE
  6805.     JMP    ([A3,D1.W*4])
  6806.     ENDIF
  6807. .L2
  6808.     BCLR    #1,(A0,D1.L)
  6809.     MOVE.B    (A0,D1.L),D6    
  6810.     BSR    _screenwrite
  6811.     MOVE.W    (A2)+,D1
  6812.     IF    DEEBUG
  6813.     BRA    DEBUG
  6814.     ELSE
  6815.     JMP    ([A3,D1.W*4])
  6816.     ENDIF
  6817.  
  6818. MCB8F:                ; RES 1,A
  6819.     BCLR    #1,D0
  6820.     MOVE.W    (A2)+,D1
  6821.     IF    DEEBUG
  6822.     BRA    DEBUG
  6823.     ELSE
  6824.     JMP    ([A3,D1.W*4])
  6825.     ENDIF
  6826.  
  6827. MCB90:                ; RES 2,B
  6828.     BCLR    #10,D3
  6829.     MOVE.W    (A2)+,D1
  6830.     IF    DEEBUG
  6831.     BRA    DEBUG
  6832.     ELSE
  6833.     JMP    ([A3,D1.W*4])
  6834.     ENDIF
  6835.  
  6836. MCB91:                ; RES 2,C
  6837.     BCLR    #2,D3
  6838.     MOVE.W    (A2)+,D1
  6839.     IF    DEEBUG
  6840.     BRA    DEBUG
  6841.     ELSE
  6842.     JMP    ([A3,D1.W*4])
  6843.     ENDIF
  6844.  
  6845. MCB92:                ; RES 2,D
  6846.     BCLR    #26,D3
  6847.     MOVE.W    (A2)+,D1
  6848.     IF    DEEBUG
  6849.     BRA    DEBUG
  6850.     ELSE
  6851.     JMP    ([A3,D1.W*4])
  6852.     ENDIF
  6853.  
  6854. MCB93:                ; RES 2,E
  6855.     BCLR    #18,D3
  6856.     MOVE.W    (A2)+,D1
  6857.     IF    DEEBUG
  6858.     BRA    DEBUG
  6859.     ELSE
  6860.     JMP    ([A3,D1.W*4])
  6861.     ENDIF
  6862.  
  6863. MCB94:                ; RES 2,H
  6864.     BCLR    #10,D2
  6865.     MOVE.W    (A2)+,D1
  6866.     IF    DEEBUG
  6867.     BRA    DEBUG
  6868.     ELSE
  6869.     JMP    ([A3,D1.W*4])
  6870.     ENDIF
  6871.  
  6872. MCB95:                ; RES 2,L
  6873.     BCLR    #2,D2
  6874.     MOVE.W    (A2)+,D1
  6875.     IF    DEEBUG
  6876.     BRA    DEBUG
  6877.     ELSE
  6878.     JMP    ([A3,D1.W*4])
  6879.     ENDIF
  6880.  
  6881. MCB96:                ; RES 2,(HL)
  6882.     MOVEQ    #0,D1
  6883.     MOVE.W    D2,D1
  6884.     CMPI.W    #$4000,D1    
  6885.     BCS.B    .L1
  6886.     BCLR    #2,(A0,D1.L)
  6887.     MOVE.W    (A2)+,D1
  6888.     IF    DEEBUG
  6889.     BRA    DEBUG
  6890.     ELSE
  6891.     JMP    ([A3,D1.W*4])
  6892.     ENDIF
  6893. .L1
  6894.     CMPI.W    #$3BFF,D1    
  6895.     BHI.B    .L2
  6896.     MOVE.W    (A2)+,D1
  6897.     IF    DEEBUG
  6898.     BRA    DEBUG
  6899.     ELSE
  6900.     JMP    ([A3,D1.W*4])
  6901.     ENDIF
  6902. .L2
  6903.     BCLR    #2,(A0,D1.L)
  6904.     MOVE.B    (A0,D1.L),D6    
  6905.     BSR    _screenwrite
  6906.     MOVE.W    (A2)+,D1
  6907.     IF    DEEBUG
  6908.     BRA    DEBUG
  6909.     ELSE
  6910.     JMP    ([A3,D1.W*4])
  6911.     ENDIF
  6912.  
  6913. MCB97:                ; RES 2,A
  6914.     BCLR    #2,D0
  6915.     MOVE.W    (A2)+,D1
  6916.     IF    DEEBUG
  6917.     BRA    DEBUG
  6918.     ELSE
  6919.     JMP    ([A3,D1.W*4])
  6920.     ENDIF
  6921.  
  6922. MCB98:                ; RES 3,B
  6923.     BCLR    #11,D3
  6924.     MOVE.W    (A2)+,D1
  6925.     IF    DEEBUG
  6926.     BRA    DEBUG
  6927.     ELSE
  6928.     JMP    ([A3,D1.W*4])
  6929.     ENDIF
  6930.  
  6931. MCB99:                ; RES 3,C
  6932.     BCLR    #3,D3
  6933.     MOVE.W    (A2)+,D1
  6934.     IF    DEEBUG
  6935.     BRA    DEBUG
  6936.     ELSE
  6937.     JMP    ([A3,D1.W*4])
  6938.     ENDIF
  6939.  
  6940. MCB9A:                ; RES 3,D
  6941.     BCLR    #27,D3
  6942.     MOVE.W    (A2)+,D1
  6943.     IF    DEEBUG
  6944.     BRA    DEBUG
  6945.     ELSE
  6946.     JMP    ([A3,D1.W*4])
  6947.     ENDIF
  6948.  
  6949. MCB9B:                ; RES 3,E
  6950.     BCLR    #19,D3
  6951.     MOVE.W    (A2)+,D1
  6952.     IF    DEEBUG
  6953.     BRA    DEBUG
  6954.     ELSE
  6955.     JMP    ([A3,D1.W*4])
  6956.     ENDIF
  6957.  
  6958. MCB9C:                ; RES 3,H
  6959.     BCLR    #11,D2
  6960.     MOVE.W    (A2)+,D1
  6961.     IF    DEEBUG
  6962.     BRA    DEBUG
  6963.     ELSE
  6964.     JMP    ([A3,D1.W*4])
  6965.     ENDIF
  6966.  
  6967. MCB9D:                ; RES 3,L
  6968.     BCLR    #3,D2
  6969.     MOVE.W    (A2)+,D1
  6970.     IF    DEEBUG
  6971.     BRA    DEBUG
  6972.     ELSE
  6973.     JMP    ([A3,D1.W*4])
  6974.     ENDIF
  6975.  
  6976. MCB9E:                ; RES 3,(HL)
  6977.     MOVEQ    #0,D1
  6978.     MOVE.W    D2,D1
  6979.     CMPI.W    #$4000,D1    
  6980.     BCS.B    .L1
  6981.     BCLR    #3,(A0,D1.L)
  6982.     MOVE.W    (A2)+,D1
  6983.     IF    DEEBUG
  6984.     BRA    DEBUG
  6985.     ELSE
  6986.     JMP    ([A3,D1.W*4])
  6987.     ENDIF
  6988. .L1
  6989.     CMPI.W    #$3BFF,D1    
  6990.     BHI.B    .L2
  6991.     MOVE.W    (A2)+,D1
  6992.     IF    DEEBUG
  6993.     BRA    DEBUG
  6994.     ELSE
  6995.     JMP    ([A3,D1.W*4])
  6996.     ENDIF
  6997. .L2
  6998.     BCLR    #3,(A0,D1.L)
  6999.     MOVE.B    (A0,D1.L),D6    
  7000.     BSR    _screenwrite
  7001.     MOVE.W    (A2)+,D1
  7002.     IF    DEEBUG
  7003.     BRA    DEBUG
  7004.     ELSE
  7005.     JMP    ([A3,D1.W*4])
  7006.     ENDIF
  7007.  
  7008. MCB9F:                ; RES 3,A
  7009.     BCLR    #3,D0
  7010.     MOVE.W    (A2)+,D1
  7011.     IF    DEEBUG
  7012.     BRA    DEBUG
  7013.     ELSE
  7014.     JMP    ([A3,D1.W*4])
  7015.     ENDIF
  7016.  
  7017. MCBA0:                ; RES 4,B
  7018.     BCLR    #12,D3
  7019.     MOVE.W    (A2)+,D1
  7020.     IF    DEEBUG
  7021.     BRA    DEBUG
  7022.     ELSE
  7023.     JMP    ([A3,D1.W*4])
  7024.     ENDIF
  7025.  
  7026. MCBA1:                ; RES 4,C
  7027.     BCLR    #4,D3
  7028.     MOVE.W    (A2)+,D1
  7029.     IF    DEEBUG
  7030.     BRA    DEBUG
  7031.     ELSE
  7032.     JMP    ([A3,D1.W*4])
  7033.     ENDIF
  7034.  
  7035. MCBA2:                ; RES 4,D
  7036.     BCLR    #28,D3
  7037.     MOVE.W    (A2)+,D1
  7038.     IF    DEEBUG
  7039.     BRA    DEBUG
  7040.     ELSE
  7041.     JMP    ([A3,D1.W*4])
  7042.     ENDIF
  7043.  
  7044. MCBA3:                ; RES 4,E
  7045.     BCLR    #20,D3
  7046.     MOVE.W    (A2)+,D1
  7047.     IF    DEEBUG
  7048.     BRA    DEBUG
  7049.     ELSE
  7050.     JMP    ([A3,D1.W*4])
  7051.     ENDIF
  7052.  
  7053. MCBA4:                ; RES 4,H
  7054.     BCLR    #12,D2
  7055.     MOVE.W    (A2)+,D1
  7056.     IF    DEEBUG
  7057.     BRA    DEBUG
  7058.     ELSE
  7059.     JMP    ([A3,D1.W*4])
  7060.     ENDIF
  7061.  
  7062. MCBA5:                ; RES 4,L
  7063.     BCLR    #4,D2
  7064.     MOVE.W    (A2)+,D1
  7065.     IF    DEEBUG
  7066.     BRA    DEBUG
  7067.     ELSE
  7068.     JMP    ([A3,D1.W*4])
  7069.     ENDIF
  7070.  
  7071. MCBA6:                ; RES 4,(HL)
  7072.     MOVEQ    #0,D1
  7073.     MOVE.W    D2,D1
  7074.     CMPI.W    #$4000,D1    
  7075.     BCS.B    .L1
  7076.     BCLR    #4,(A0,D1.L)
  7077.     MOVE.W    (A2)+,D1
  7078.     IF    DEEBUG
  7079.     BRA    DEBUG
  7080.     ELSE
  7081.     JMP    ([A3,D1.W*4])
  7082.     ENDIF
  7083. .L1
  7084.     CMPI.W    #$3BFF,D1    
  7085.     BHI.B    .L2
  7086.     MOVE.W    (A2)+,D1
  7087.     IF    DEEBUG
  7088.     BRA    DEBUG
  7089.     ELSE
  7090.     JMP    ([A3,D1.W*4])
  7091.     ENDIF
  7092. .L2
  7093.     BCLR    #4,(A0,D1.L)
  7094.     MOVE.B    (A0,D1.L),D6    
  7095.     BSR    _screenwrite
  7096.     MOVE.W    (A2)+,D1
  7097.     IF    DEEBUG
  7098.     BRA    DEBUG
  7099.     ELSE
  7100.     JMP    ([A3,D1.W*4])
  7101.     ENDIF
  7102.  
  7103. MCBA7:                ; RES 4,A
  7104.     BCLR    #4,D0
  7105.     MOVE.W    (A2)+,D1
  7106.     IF    DEEBUG
  7107.     BRA    DEBUG
  7108.     ELSE
  7109.     JMP    ([A3,D1.W*4])
  7110.     ENDIF
  7111.  
  7112. MCBA8:                ; RES 5,B
  7113.     BCLR    #13,D3
  7114.     MOVE.W    (A2)+,D1
  7115.     IF    DEEBUG
  7116.     BRA    DEBUG
  7117.     ELSE
  7118.     JMP    ([A3,D1.W*4])
  7119.     ENDIF
  7120.  
  7121. MCBA9:                ; RES 5,C
  7122.     BCLR    #5,D3
  7123.     MOVE.W    (A2)+,D1
  7124.     IF    DEEBUG
  7125.     BRA    DEBUG
  7126.     ELSE
  7127.     JMP    ([A3,D1.W*4])
  7128.     ENDIF
  7129.  
  7130. MCBAA:                ; RES 5,D
  7131.     BCLR    #29,D3
  7132.     MOVE.W    (A2)+,D1
  7133.     IF    DEEBUG
  7134.     BRA    DEBUG
  7135.     ELSE
  7136.     JMP    ([A3,D1.W*4])
  7137.     ENDIF
  7138.  
  7139. MCBAB:                ; RES 5,E
  7140.     BCLR    #21,D3
  7141.     MOVE.W    (A2)+,D1
  7142.     IF    DEEBUG
  7143.     BRA    DEBUG
  7144.     ELSE
  7145.     JMP    ([A3,D1.W*4])
  7146.     ENDIF
  7147.  
  7148. MCBAC:                ; RES 5,H
  7149.     BCLR    #13,D2
  7150.     MOVE.W    (A2)+,D1
  7151.     IF    DEEBUG
  7152.     BRA    DEBUG
  7153.     ELSE
  7154.     JMP    ([A3,D1.W*4])
  7155.     ENDIF
  7156.  
  7157. MCBAD:                ; RES 5,L
  7158.     BCLR    #5,D2
  7159.     MOVE.W    (A2)+,D1
  7160.     IF    DEEBUG
  7161.     BRA    DEBUG
  7162.     ELSE
  7163.     JMP    ([A3,D1.W*4])
  7164.     ENDIF
  7165.  
  7166. MCBAE:                ; RES 5,(HL)
  7167.     MOVEQ    #0,D1
  7168.     MOVE.W    D2,D1
  7169.     CMPI.W    #$4000,D1    
  7170.     BCS.B    .L1
  7171.     BCLR    #5,(A0,D1.L)
  7172.     MOVE.W    (A2)+,D1
  7173.     IF    DEEBUG
  7174.     BRA    DEBUG
  7175.     ELSE
  7176.     JMP    ([A3,D1.W*4])
  7177.     ENDIF
  7178. .L1
  7179.     CMPI.W    #$3BFF,D1    
  7180.     BHI.B    .L2
  7181.     MOVE.W    (A2)+,D1
  7182.     IF    DEEBUG
  7183.     BRA    DEBUG
  7184.     ELSE
  7185.     JMP    ([A3,D1.W*4])
  7186.     ENDIF
  7187. .L2
  7188.     BCLR    #5,(A0,D1.L)
  7189.     MOVE.B    (A0,D1.L),D6    
  7190.     BSR    _screenwrite
  7191.     MOVE.W    (A2)+,D1
  7192.     IF    DEEBUG
  7193.     BRA    DEBUG
  7194.     ELSE
  7195.     JMP    ([A3,D1.W*4])
  7196.     ENDIF
  7197.  
  7198. MCBAF:                ; RES 5,A
  7199.     BCLR    #5,D0
  7200.     MOVE.W    (A2)+,D1
  7201.     IF    DEEBUG
  7202.     BRA    DEBUG
  7203.     ELSE
  7204.     JMP    ([A3,D1.W*4])
  7205.     ENDIF
  7206.  
  7207. MCBB0:                ; RES 6,B
  7208.     BCLR    #14,D3
  7209.     MOVE.W    (A2)+,D1
  7210.     IF    DEEBUG
  7211.     BRA    DEBUG
  7212.     ELSE
  7213.     JMP    ([A3,D1.W*4])
  7214.     ENDIF
  7215.  
  7216. MCBB1:                ; RES 6,C
  7217.     BCLR    #6,D3
  7218.     MOVE.W    (A2)+,D1
  7219.     IF    DEEBUG
  7220.     BRA    DEBUG
  7221.     ELSE
  7222.     JMP    ([A3,D1.W*4])
  7223.     ENDIF
  7224.  
  7225. MCBB2:                ; RES 6,D
  7226.     BCLR    #30,D3
  7227.     MOVE.W    (A2)+,D1
  7228.     IF    DEEBUG
  7229.     BRA    DEBUG
  7230.     ELSE
  7231.     JMP    ([A3,D1.W*4])
  7232.     ENDIF
  7233.  
  7234. MCBB3:                ; RES 6,E
  7235.     BCLR    #22,D3
  7236.     MOVE.W    (A2)+,D1
  7237.     IF    DEEBUG
  7238.     BRA    DEBUG
  7239.     ELSE
  7240.     JMP    ([A3,D1.W*4])
  7241.     ENDIF
  7242.  
  7243. MCBB4:                ; RES 6,H
  7244.     BCLR    #14,D2
  7245.     MOVE.W    (A2)+,D1
  7246.     IF    DEEBUG
  7247.     BRA    DEBUG
  7248.     ELSE
  7249.     JMP    ([A3,D1.W*4])
  7250.     ENDIF
  7251.  
  7252. MCBB5:                ; RES 6,L
  7253.     BCLR    #6,D2
  7254.     MOVE.W    (A2)+,D1
  7255.     IF    DEEBUG
  7256.     BRA    DEBUG
  7257.     ELSE
  7258.     JMP    ([A3,D1.W*4])
  7259.     ENDIF
  7260.  
  7261. MCBB6:                ; RES 6,(HL)
  7262.     MOVEQ    #0,D1
  7263.     MOVE.W    D2,D1
  7264.     CMPI.W    #$4000,D1    
  7265.     BCS.B    .L1
  7266.     BCLR    #6,(A0,D1.L)
  7267.     MOVE.W    (A2)+,D1
  7268.     IF    DEEBUG
  7269.     BRA    DEBUG
  7270.     ELSE
  7271.     JMP    ([A3,D1.W*4])
  7272.     ENDIF
  7273. .L1
  7274.     CMPI.W    #$3BFF,D1    
  7275.     BHI.B    .L2
  7276.     MOVE.W    (A2)+,D1
  7277.     IF    DEEBUG
  7278.     BRA    DEBUG
  7279.     ELSE
  7280.     JMP    ([A3,D1.W*4])
  7281.     ENDIF
  7282. .L2
  7283.     BCLR    #6,(A0,D1.L)
  7284.     MOVE.B    (A0,D1.L),D6    
  7285.     BSR    _screenwrite
  7286.     MOVE.W    (A2)+,D1
  7287.     IF    DEEBUG
  7288.     BRA    DEBUG
  7289.     ELSE
  7290.     JMP    ([A3,D1.W*4])
  7291.     ENDIF
  7292.  
  7293. MCBB7:                ; RES 6,A
  7294.     BCLR    #6,D0
  7295.     MOVE.W    (A2)+,D1
  7296.     IF    DEEBUG
  7297.     BRA    DEBUG
  7298.     ELSE
  7299.     JMP    ([A3,D1.W*4])
  7300.     ENDIF
  7301.  
  7302. MCBB8:                ; RES 7,B
  7303.     BCLR    #15,D3
  7304.     MOVE.W    (A2)+,D1
  7305.     IF    DEEBUG
  7306.     BRA    DEBUG
  7307.     ELSE
  7308.     JMP    ([A3,D1.W*4])
  7309.     ENDIF
  7310.  
  7311. MCBB9:                ; RES 7,C
  7312.     BCLR    #7,D3
  7313.     MOVE.W    (A2)+,D1
  7314.     IF    DEEBUG
  7315.     BRA    DEBUG
  7316.     ELSE
  7317.     JMP    ([A3,D1.W*4])
  7318.     ENDIF
  7319.  
  7320. MCBBA:                ; RES 7,D
  7321.     BCLR    #31,D3
  7322.     MOVE.W    (A2)+,D1
  7323.     IF    DEEBUG
  7324.     BRA    DEBUG
  7325.     ELSE
  7326.     JMP    ([A3,D1.W*4])
  7327.     ENDIF
  7328.  
  7329. MCBBB:                ; RES 7,E
  7330.     BCLR    #23,D3
  7331.     MOVE.W    (A2)+,D1
  7332.     IF    DEEBUG
  7333.     BRA    DEBUG
  7334.     ELSE
  7335.     JMP    ([A3,D1.W*4])
  7336.     ENDIF
  7337.  
  7338. MCBBC:                ; RES 7,H
  7339.     BCLR    #15,D2
  7340.     MOVE.W    (A2)+,D1
  7341.     IF    DEEBUG
  7342.     BRA    DEBUG
  7343.     ELSE
  7344.     JMP    ([A3,D1.W*4])
  7345.     ENDIF
  7346.  
  7347. MCBBD:                ; RES 7,L
  7348.     BCLR    #7,D2
  7349.     MOVE.W    (A2)+,D1
  7350.     IF    DEEBUG
  7351.     BRA    DEBUG
  7352.     ELSE
  7353.     JMP    ([A3,D1.W*4])
  7354.     ENDIF
  7355.  
  7356. MCBBE:                ; RES 7,(HL)
  7357.     MOVEQ    #0,D1
  7358.     MOVE.W    D2,D1
  7359.     CMPI.W    #$4000,D1    
  7360.     BCS.B    .L1
  7361.     BCLR    #7,(A0,D1.L)
  7362.     MOVE.W    (A2)+,D1
  7363.     IF    DEEBUG
  7364.     BRA    DEBUG
  7365.     ELSE
  7366.     JMP    ([A3,D1.W*4])
  7367.     ENDIF
  7368. .L1
  7369.     CMPI.W    #$3BFF,D1    
  7370.     BHI.B    .L2
  7371.     MOVE.W    (A2)+,D1
  7372.     IF    DEEBUG
  7373.     BRA    DEBUG
  7374.     ELSE
  7375.     JMP    ([A3,D1.W*4])
  7376.     ENDIF
  7377. .L2
  7378.     BCLR    #7,(A0,D1.L)
  7379.     MOVE.B    (A0,D1.L),D6    
  7380.     BSR    _screenwrite
  7381.     MOVE.W    (A2)+,D1
  7382.     IF    DEEBUG
  7383.     BRA    DEBUG
  7384.     ELSE
  7385.     JMP    ([A3,D1.W*4])
  7386.     ENDIF
  7387.  
  7388. MCBBF:                ; RES 7,A
  7389.     BCLR    #7,D0
  7390.     MOVE.W    (A2)+,D1
  7391.     IF    DEEBUG
  7392.     BRA    DEBUG
  7393.     ELSE
  7394.     JMP    ([A3,D1.W*4])
  7395.     ENDIF
  7396.  
  7397. MCBC0:                ; SET 0,B
  7398.     BSET    #8,D3
  7399.     MOVE.W    (A2)+,D1
  7400.     IF    DEEBUG
  7401.     BRA    DEBUG
  7402.     ELSE
  7403.     JMP    ([A3,D1.W*4])
  7404.     ENDIF
  7405.  
  7406. MCBC1:                ; SET 0,C
  7407.     BSET    #0,D3
  7408.     MOVE.W    (A2)+,D1
  7409.     IF    DEEBUG
  7410.     BRA    DEBUG
  7411.     ELSE
  7412.     JMP    ([A3,D1.W*4])
  7413.     ENDIF
  7414.  
  7415. MCBC2:                ; SET 0,D
  7416.     BSET    #24,D3
  7417.     MOVE.W    (A2)+,D1
  7418.     IF    DEEBUG
  7419.     BRA    DEBUG
  7420.     ELSE
  7421.     JMP    ([A3,D1.W*4])
  7422.     ENDIF
  7423.  
  7424. MCBC3:                ; SET 0,E
  7425.     BSET    #16,D3
  7426.     MOVE.W    (A2)+,D1
  7427.     IF    DEEBUG
  7428.     BRA    DEBUG
  7429.     ELSE
  7430.     JMP    ([A3,D1.W*4])
  7431.     ENDIF
  7432.  
  7433. MCBC4:                ; SET 0,H
  7434.     BSET    #8,D2
  7435.     MOVE.W    (A2)+,D1
  7436.     IF    DEEBUG
  7437.     BRA    DEBUG
  7438.     ELSE
  7439.     JMP    ([A3,D1.W*4])
  7440.     ENDIF
  7441.  
  7442. MCBC5:                ; SET 0,L
  7443.     BSET    #0,D2
  7444.     MOVE.W    (A2)+,D1
  7445.     IF    DEEBUG
  7446.     BRA    DEBUG
  7447.     ELSE
  7448.     JMP    ([A3,D1.W*4])
  7449.     ENDIF
  7450.  
  7451. MCBC6:                ; SET 0,(HL)
  7452.     MOVEQ    #0,D1
  7453.     MOVE.W    D2,D1
  7454.     CMPI.W    #$4000,D1    
  7455.     BCS.B    .L1
  7456.     BSET    #0,(A0,D1.L)
  7457.     MOVE.W    (A2)+,D1
  7458.     IF    DEEBUG
  7459.     BRA    DEBUG
  7460.     ELSE
  7461.     JMP    ([A3,D1.W*4])
  7462.     ENDIF
  7463. .L1
  7464.     CMPI.W    #$3BFF,D1    
  7465.     BHI.B    .L2
  7466.     MOVE.W    (A2)+,D1
  7467.     IF    DEEBUG
  7468.     BRA    DEBUG
  7469.     ELSE
  7470.     JMP    ([A3,D1.W*4])
  7471.     ENDIF
  7472. .L2
  7473.     BSET    #0,(A0,D1.L)
  7474.     MOVE.B    (A0,D1.L),D6    
  7475.     BSR    _screenwrite
  7476.     MOVE.W    (A2)+,D1
  7477.     IF    DEEBUG
  7478.     BRA    DEBUG
  7479.     ELSE
  7480.     JMP    ([A3,D1.W*4])
  7481.     ENDIF
  7482.  
  7483. MCBC7:                ; SET 0,A
  7484.     BSET    #0,D0
  7485.     MOVE.W    (A2)+,D1
  7486.     IF    DEEBUG
  7487.     BRA    DEBUG
  7488.     ELSE
  7489.     JMP    ([A3,D1.W*4])
  7490.     ENDIF
  7491.  
  7492. MCBC8:                ; SET 1,B
  7493.     BSET    #9,D3
  7494.     MOVE.W    (A2)+,D1
  7495.     IF    DEEBUG
  7496.     BRA    DEBUG
  7497.     ELSE
  7498.     JMP    ([A3,D1.W*4])
  7499.     ENDIF
  7500.  
  7501. MCBC9:                ; SET 1,C
  7502.     BSET    #1,D3
  7503.     MOVE.W    (A2)+,D1
  7504.     IF    DEEBUG
  7505.     BRA    DEBUG
  7506.     ELSE
  7507.     JMP    ([A3,D1.W*4])
  7508.     ENDIF
  7509.  
  7510. MCBCA:                ; SET 1,D
  7511.     BSET    #25,D3
  7512.     MOVE.W    (A2)+,D1
  7513.     IF    DEEBUG
  7514.     BRA    DEBUG
  7515.     ELSE
  7516.     JMP    ([A3,D1.W*4])
  7517.     ENDIF
  7518.  
  7519. MCBCB:                ; SET 1,E
  7520.     BSET    #17,D3
  7521.     MOVE.W    (A2)+,D1
  7522.     IF    DEEBUG
  7523.     BRA    DEBUG
  7524.     ELSE
  7525.     JMP    ([A3,D1.W*4])
  7526.     ENDIF
  7527.  
  7528. MCBCC:                ; SET 1,H
  7529.     BSET    #9,D2
  7530.     MOVE.W    (A2)+,D1
  7531.     IF    DEEBUG
  7532.     BRA    DEBUG
  7533.     ELSE
  7534.     JMP    ([A3,D1.W*4])
  7535.     ENDIF
  7536.  
  7537. MCBCD:                ; SET 1,L
  7538.     BSET    #1,D2
  7539.     MOVE.W    (A2)+,D1
  7540.     IF    DEEBUG
  7541.     BRA    DEBUG
  7542.     ELSE
  7543.     JMP    ([A3,D1.W*4])
  7544.     ENDIF
  7545.  
  7546. MCBCE:                ; SET 1,(HL)
  7547.     MOVEQ    #0,D1
  7548.     MOVE.W    D2,D1
  7549.     CMPI.W    #$4000,D1    
  7550.     BCS.B    .L1
  7551.     BSET    #1,(A0,D1.L)
  7552.     MOVE.W    (A2)+,D1
  7553.     IF    DEEBUG
  7554.     BRA    DEBUG
  7555.     ELSE
  7556.     JMP    ([A3,D1.W*4])
  7557.     ENDIF
  7558. .L1
  7559.     CMPI.W    #$3BFF,D1    
  7560.     BHI.B    .L2
  7561.     MOVE.W    (A2)+,D1
  7562.     IF    DEEBUG
  7563.     BRA    DEBUG
  7564.     ELSE
  7565.     JMP    ([A3,D1.W*4])
  7566.     ENDIF
  7567. .L2
  7568.     BSET    #1,(A0,D1.L)
  7569.     MOVE.B    (A0,D1.L),D6    
  7570.     BSR    _screenwrite
  7571.     MOVE.W    (A2)+,D1
  7572.     IF    DEEBUG
  7573.     BRA    DEBUG
  7574.     ELSE
  7575.     JMP    ([A3,D1.W*4])
  7576.     ENDIF
  7577.  
  7578. MCBCF:                ; SET 1,A
  7579.     BSET    #1,D0
  7580.     MOVE.W    (A2)+,D1
  7581.     IF    DEEBUG
  7582.     BRA    DEBUG
  7583.     ELSE
  7584.     JMP    ([A3,D1.W*4])
  7585.     ENDIF
  7586.  
  7587. MCBD0:                ; SET 2,B
  7588.     BSET    #10,D3
  7589.     MOVE.W    (A2)+,D1
  7590.     IF    DEEBUG
  7591.     BRA    DEBUG
  7592.     ELSE
  7593.     JMP    ([A3,D1.W*4])
  7594.     ENDIF
  7595.  
  7596. MCBD1:                ; SET 2,C
  7597.     BSET    #2,D3
  7598.     MOVE.W    (A2)+,D1
  7599.     IF    DEEBUG
  7600.     BRA    DEBUG
  7601.     ELSE
  7602.     JMP    ([A3,D1.W*4])
  7603.     ENDIF
  7604.  
  7605. MCBD2:                ; SET 2,D
  7606.     BSET    #26,D3
  7607.     MOVE.W    (A2)+,D1
  7608.     IF    DEEBUG
  7609.     BRA    DEBUG
  7610.     ELSE
  7611.     JMP    ([A3,D1.W*4])
  7612.     ENDIF
  7613.  
  7614. MCBD3:                ; SET 2,E
  7615.     BSET    #18,D3
  7616.     MOVE.W    (A2)+,D1
  7617.     IF    DEEBUG
  7618.     BRA    DEBUG
  7619.     ELSE
  7620.     JMP    ([A3,D1.W*4])
  7621.     ENDIF
  7622.  
  7623. MCBD4:                ; SET 2,H
  7624.     BSET    #10,D2
  7625.     MOVE.W    (A2)+,D1
  7626.     IF    DEEBUG
  7627.     BRA    DEBUG
  7628.     ELSE
  7629.     JMP    ([A3,D1.W*4])
  7630.     ENDIF
  7631.  
  7632. MCBD5:                ; SET 2,L
  7633.     BSET    #2,D2
  7634.     MOVE.W    (A2)+,D1
  7635.     IF    DEEBUG
  7636.     BRA    DEBUG
  7637.     ELSE
  7638.     JMP    ([A3,D1.W*4])
  7639.     ENDIF
  7640.  
  7641. MCBD6:                ; SET 2,(HL)
  7642.     MOVEQ    #0,D1
  7643.     MOVE.W    D2,D1
  7644.     CMPI.W    #$4000,D1    
  7645.     BCS.B    .L1
  7646.     BSET    #2,(A0,D1.L)
  7647.     MOVE.W    (A2)+,D1
  7648.     IF    DEEBUG
  7649.     BRA    DEBUG
  7650.     ELSE
  7651.     JMP    ([A3,D1.W*4])
  7652.     ENDIF
  7653. .L1
  7654.     CMPI.W    #$3BFF,D1    
  7655.     BHI.B    .L2
  7656.     MOVE.W    (A2)+,D1
  7657.     IF    DEEBUG
  7658.     BRA    DEBUG
  7659.     ELSE
  7660.     JMP    ([A3,D1.W*4])
  7661.     ENDIF
  7662. .L2
  7663.     BSET    #2,(A0,D1.L)
  7664.     MOVE.B    (A0,D1.L),D6    
  7665.     BSR    _screenwrite
  7666.     MOVE.W    (A2)+,D1
  7667.     IF    DEEBUG
  7668.     BRA    DEBUG
  7669.     ELSE
  7670.     JMP    ([A3,D1.W*4])
  7671.     ENDIF
  7672.  
  7673. MCBD7:                ; SET 2,A
  7674.     BSET    #2,D0
  7675.     MOVE.W    (A2)+,D1
  7676.     IF    DEEBUG
  7677.     BRA    DEBUG
  7678.     ELSE
  7679.     JMP    ([A3,D1.W*4])
  7680.     ENDIF
  7681.  
  7682. MCBD8:                ; SET 3,B
  7683.     BSET    #11,D3
  7684.     MOVE.W    (A2)+,D1
  7685.     IF    DEEBUG
  7686.     BRA    DEBUG
  7687.     ELSE
  7688.     JMP    ([A3,D1.W*4])
  7689.     ENDIF
  7690.  
  7691. MCBD9:                ; SET 3,C
  7692.     BSET    #3,D3
  7693.     MOVE.W    (A2)+,D1
  7694.     IF    DEEBUG
  7695.     BRA    DEBUG
  7696.     ELSE
  7697.     JMP    ([A3,D1.W*4])
  7698.     ENDIF
  7699.  
  7700. MCBDA:                ; SET 3,D
  7701.     BSET    #27,D3
  7702.     MOVE.W    (A2)+,D1
  7703.     IF    DEEBUG
  7704.     BRA    DEBUG
  7705.     ELSE
  7706.     JMP    ([A3,D1.W*4])
  7707.     ENDIF
  7708.  
  7709. MCBDB:                ; SET 3,E
  7710.     BSET    #19,D3
  7711.     MOVE.W    (A2)+,D1
  7712.     IF    DEEBUG
  7713.     BRA    DEBUG
  7714.     ELSE
  7715.     JMP    ([A3,D1.W*4])
  7716.     ENDIF
  7717.  
  7718. MCBDC:                ; SET 3,H
  7719.     BSET    #11,D2
  7720.     MOVE.W    (A2)+,D1
  7721.     IF    DEEBUG
  7722.     BRA    DEBUG
  7723.     ELSE
  7724.     JMP    ([A3,D1.W*4])
  7725.     ENDIF
  7726.  
  7727. MCBDD:                ; SET 3,L
  7728.     BSET    #3,D2
  7729.     MOVE.W    (A2)+,D1
  7730.     IF    DEEBUG
  7731.     BRA    DEBUG
  7732.     ELSE
  7733.     JMP    ([A3,D1.W*4])
  7734.     ENDIF
  7735.  
  7736. MCBDE:                ; SET 3,(HL)
  7737.     MOVEQ    #0,D1
  7738.     MOVE.W    D2,D1
  7739.     CMPI.W    #$4000,D1    
  7740.     BCS.B    .L1
  7741.     BSET    #3,(A0,D1.L)
  7742.     MOVE.W    (A2)+,D1
  7743.     IF    DEEBUG
  7744.     BRA    DEBUG
  7745.     ELSE
  7746.     JMP    ([A3,D1.W*4])
  7747.     ENDIF
  7748. .L1
  7749.     CMPI.W    #$3BFF,D1    
  7750.     BHI.B    .L2
  7751.     MOVE.W    (A2)+,D1
  7752.     IF    DEEBUG
  7753.     BRA    DEBUG
  7754.     ELSE
  7755.     JMP    ([A3,D1.W*4])
  7756.     ENDIF
  7757. .L2
  7758.     BSET    #3,(A0,D1.L)
  7759.     MOVE.B    (A0,D1.L),D6    
  7760.     BSR    _screenwrite
  7761.     MOVE.W    (A2)+,D1
  7762.     IF    DEEBUG
  7763.     BRA    DEBUG
  7764.     ELSE
  7765.     JMP    ([A3,D1.W*4])
  7766.     ENDIF
  7767.  
  7768. MCBDF:                ; SET 3,A
  7769.     BSET    #3,D0
  7770.     MOVE.W    (A2)+,D1
  7771.     IF    DEEBUG
  7772.     BRA    DEBUG
  7773.     ELSE
  7774.     JMP    ([A3,D1.W*4])
  7775.     ENDIF
  7776.  
  7777. MCBE0:                ; SET 4,B
  7778.     BSET    #12,D3
  7779.     MOVE.W    (A2)+,D1
  7780.     IF    DEEBUG
  7781.     BRA    DEBUG
  7782.     ELSE
  7783.     JMP    ([A3,D1.W*4])
  7784.     ENDIF
  7785.  
  7786. MCBE1:                ; SET 4,C
  7787.     BSET    #4,D3
  7788.     MOVE.W    (A2)+,D1
  7789.     IF    DEEBUG
  7790.     BRA    DEBUG
  7791.     ELSE
  7792.     JMP    ([A3,D1.W*4])
  7793.     ENDIF
  7794.  
  7795. MCBE2:                ; SET 4,D
  7796.     BSET    #28,D3
  7797.     MOVE.W    (A2)+,D1
  7798.     IF    DEEBUG
  7799.     BRA    DEBUG
  7800.     ELSE
  7801.     JMP    ([A3,D1.W*4])
  7802.     ENDIF
  7803.  
  7804. MCBE3:                ; SET 4,E
  7805.     BSET    #20,D3
  7806.     MOVE.W    (A2)+,D1
  7807.     IF    DEEBUG
  7808.     BRA    DEBUG
  7809.     ELSE
  7810.     JMP    ([A3,D1.W*4])
  7811.     ENDIF
  7812.  
  7813. MCBE4:                ; SET 4,H
  7814.     BSET    #12,D2
  7815.     MOVE.W    (A2)+,D1
  7816.     IF    DEEBUG
  7817.     BRA    DEBUG
  7818.     ELSE
  7819.     JMP    ([A3,D1.W*4])
  7820.     ENDIF
  7821.  
  7822. MCBE5:                ; SET 4,L
  7823.     BSET    #4,D2
  7824.     MOVE.W    (A2)+,D1
  7825.     IF    DEEBUG
  7826.     BRA    DEBUG
  7827.     ELSE
  7828.     JMP    ([A3,D1.W*4])
  7829.     ENDIF
  7830.  
  7831. MCBE6:                ; SET 4,(HL)
  7832.     MOVEQ    #0,D1
  7833.     MOVE.W    D2,D1
  7834.     CMPI.W    #$4000,D1    
  7835.     BCS.B    .L1
  7836.     BSET    #4,(A0,D1.L)
  7837.     MOVE.W    (A2)+,D1
  7838.     IF    DEEBUG
  7839.     BRA    DEBUG
  7840.     ELSE
  7841.     JMP    ([A3,D1.W*4])
  7842.     ENDIF
  7843. .L1
  7844.     CMPI.W    #$3BFF,D1    
  7845.     BHI.B    .L2
  7846.     MOVE.W    (A2)+,D1
  7847.     IF    DEEBUG
  7848.     BRA    DEBUG
  7849.     ELSE
  7850.     JMP    ([A3,D1.W*4])
  7851.     ENDIF
  7852. .L2
  7853.     BSET    #4,(A0,D1.L)
  7854.     MOVE.B    (A0,D1.L),D6    
  7855.     BSR    _screenwrite
  7856.     MOVE.W    (A2)+,D1
  7857.     IF    DEEBUG
  7858.     BRA    DEBUG
  7859.     ELSE
  7860.     JMP    ([A3,D1.W*4])
  7861.     ENDIF
  7862.  
  7863. MCBE7:                ; SET 4,A
  7864.     BSET    #4,D0
  7865.     MOVE.W    (A2)+,D1
  7866.     IF    DEEBUG
  7867.     BRA    DEBUG
  7868.     ELSE
  7869.     JMP    ([A3,D1.W*4])
  7870.     ENDIF
  7871.  
  7872. MCBE8:                ; SET 5,B
  7873.     BSET    #13,D3
  7874.     MOVE.W    (A2)+,D1
  7875.     IF    DEEBUG
  7876.     BRA    DEBUG
  7877.     ELSE
  7878.     JMP    ([A3,D1.W*4])
  7879.     ENDIF
  7880.  
  7881. MCBE9:                ; SET 5,C
  7882.     BSET    #5,D3
  7883.     MOVE.W    (A2)+,D1
  7884.     IF    DEEBUG
  7885.     BRA    DEBUG
  7886.     ELSE
  7887.     JMP    ([A3,D1.W*4])
  7888.     ENDIF
  7889.  
  7890. MCBEA:                ; SET 5,D
  7891.     BSET    #29,D3
  7892.     MOVE.W    (A2)+,D1
  7893.     IF    DEEBUG
  7894.     BRA    DEBUG
  7895.     ELSE
  7896.     JMP    ([A3,D1.W*4])
  7897.     ENDIF
  7898.  
  7899. MCBEB:                ; SET 5,E
  7900.     BSET    #21,D3
  7901.     MOVE.W    (A2)+,D1
  7902.     IF    DEEBUG
  7903.     BRA    DEBUG
  7904.     ELSE
  7905.     JMP    ([A3,D1.W*4])
  7906.     ENDIF
  7907.  
  7908. MCBEC:                ; SET 5,H
  7909.     BSET    #13,D2
  7910.     MOVE.W    (A2)+,D1
  7911.     IF    DEEBUG
  7912.     BRA    DEBUG
  7913.     ELSE
  7914.     JMP    ([A3,D1.W*4])
  7915.     ENDIF
  7916.  
  7917. MCBED:                ; SET 5,L
  7918.     BSET    #5,D2
  7919.     MOVE.W    (A2)+,D1
  7920.     IF    DEEBUG
  7921.     BRA    DEBUG
  7922.     ELSE
  7923.     JMP    ([A3,D1.W*4])
  7924.     ENDIF
  7925.  
  7926. MCBEE:                ; SET 5,(HL)
  7927.     MOVEQ    #0,D1
  7928.     MOVE.W    D2,D1
  7929.     CMPI.W    #$4000,D1    
  7930.     BCS.B    .L1
  7931.     BSET    #5,(A0,D1.L)
  7932.     MOVE.W    (A2)+,D1
  7933.     IF    DEEBUG
  7934.     BRA    DEBUG
  7935.     ELSE
  7936.     JMP    ([A3,D1.W*4])
  7937.     ENDIF
  7938. .L1
  7939.     CMPI.W    #$3BFF,D1    
  7940.     BHI.B    .L2
  7941.     MOVE.W    (A2)+,D1
  7942.     IF    DEEBUG
  7943.     BRA    DEBUG
  7944.     ELSE
  7945.     JMP    ([A3,D1.W*4])
  7946.     ENDIF
  7947. .L2
  7948.     BSET    #5,(A0,D1.L)
  7949.     MOVE.B    (A0,D1.L),D6    
  7950.     BSR    _screenwrite
  7951.     MOVE.W    (A2)+,D1
  7952.     IF    DEEBUG
  7953.     BRA    DEBUG
  7954.     ELSE
  7955.     JMP    ([A3,D1.W*4])
  7956.     ENDIF
  7957.  
  7958. MCBEF:                ; SET 5,A
  7959.     BSET    #5,D0
  7960.     MOVE.W    (A2)+,D1
  7961.     IF    DEEBUG
  7962.     BRA    DEBUG
  7963.     ELSE
  7964.     JMP    ([A3,D1.W*4])
  7965.     ENDIF
  7966.  
  7967. MCBF0:                ; SET 6,B
  7968.     BSET    #14,D3
  7969.     MOVE.W    (A2)+,D1
  7970.     IF    DEEBUG
  7971.     BRA    DEBUG
  7972.     ELSE
  7973.     JMP    ([A3,D1.W*4])
  7974.     ENDIF
  7975.  
  7976. MCBF1:                ; SET 6,C
  7977.     BSET    #6,D3
  7978.     MOVE.W    (A2)+,D1
  7979.     IF    DEEBUG
  7980.     BRA    DEBUG
  7981.     ELSE
  7982.     JMP    ([A3,D1.W*4])
  7983.     ENDIF
  7984.  
  7985. MCBF2:                ; SET 6,D
  7986.     BSET    #30,D3
  7987.     MOVE.W    (A2)+,D1
  7988.     IF    DEEBUG
  7989.     BRA    DEBUG
  7990.     ELSE
  7991.     JMP    ([A3,D1.W*4])
  7992.     ENDIF
  7993.  
  7994. MCBF3:                ; SET 6,E
  7995.     BSET    #22,D3
  7996.     MOVE.W    (A2)+,D1
  7997.     IF    DEEBUG
  7998.     BRA    DEBUG
  7999.     ELSE
  8000.     JMP    ([A3,D1.W*4])
  8001.     ENDIF
  8002.  
  8003. MCBF4:                ; SET 6,H
  8004.     BSET    #14,D2
  8005.     MOVE.W    (A2)+,D1
  8006.     IF    DEEBUG
  8007.     BRA    DEBUG
  8008.     ELSE
  8009.     JMP    ([A3,D1.W*4])
  8010.     ENDIF
  8011.  
  8012. MCBF5:                ; SET 6,L
  8013.     BSET    #6,D2
  8014.     MOVE.W    (A2)+,D1
  8015.     IF    DEEBUG
  8016.     BRA    DEBUG
  8017.     ELSE
  8018.     JMP    ([A3,D1.W*4])
  8019.     ENDIF
  8020.  
  8021. MCBF6:                ; SET 6,(HL)
  8022.     MOVEQ    #0,D1
  8023.     MOVE.W    D2,D1
  8024.     CMPI.W    #$4000,D1    
  8025.     BCS.B    .L1
  8026.     BSET    #6,(A0,D1.L)
  8027.     MOVE.W    (A2)+,D1
  8028.     IF    DEEBUG
  8029.     BRA    DEBUG
  8030.     ELSE
  8031.     JMP    ([A3,D1.W*4])
  8032.     ENDIF
  8033. .L1
  8034.     CMPI.W    #$3BFF,D1    
  8035.     BHI.B    .L2
  8036.     MOVE.W    (A2)+,D1
  8037.     IF    DEEBUG
  8038.     BRA    DEBUG
  8039.     ELSE
  8040.     JMP    ([A3,D1.W*4])
  8041.     ENDIF
  8042. .L2
  8043.     BSET    #6,(A0,D1.L)
  8044.     MOVE.B    (A0,D1.L),D6    
  8045.     BSR    _screenwrite
  8046.     MOVE.W    (A2)+,D1
  8047.     IF    DEEBUG
  8048.     BRA    DEBUG
  8049.     ELSE
  8050.     JMP    ([A3,D1.W*4])
  8051.     ENDIF
  8052.  
  8053. MCBF7:                ; SET 6,A
  8054.     BSET    #6,D0
  8055.     MOVE.W    (A2)+,D1
  8056.     IF    DEEBUG
  8057.     BRA    DEBUG
  8058.     ELSE
  8059.     JMP    ([A3,D1.W*4])
  8060.     ENDIF
  8061.  
  8062. MCBF8:                ; SET 7,B
  8063.     BSET    #15,D3
  8064.     MOVE.W    (A2)+,D1
  8065.     IF    DEEBUG
  8066.     BRA    DEBUG
  8067.     ELSE
  8068.     JMP    ([A3,D1.W*4])
  8069.     ENDIF
  8070.  
  8071. MCBF9:                ; SET 7,C
  8072.     BSET    #7,D3
  8073.     MOVE.W    (A2)+,D1
  8074.     IF    DEEBUG
  8075.     BRA    DEBUG
  8076.     ELSE
  8077.     JMP    ([A3,D1.W*4])
  8078.     ENDIF
  8079.  
  8080. MCBFA:                ; SET 7,D
  8081.     BSET    #31,D3
  8082.     MOVE.W    (A2)+,D1
  8083.     IF    DEEBUG
  8084.     BRA    DEBUG
  8085.     ELSE
  8086.     JMP    ([A3,D1.W*4])
  8087.     ENDIF
  8088.  
  8089. MCBFB:                ; SET 7,E
  8090.     BSET    #23,D3
  8091.     MOVE.W    (A2)+,D1
  8092.     IF    DEEBUG
  8093.     BRA    DEBUG
  8094.     ELSE
  8095.     JMP    ([A3,D1.W*4])
  8096.     ENDIF
  8097.  
  8098. MCBFC:                ; SET 7,H
  8099.     BSET    #15,D2
  8100.     MOVE.W    (A2)+,D1
  8101.     IF    DEEBUG
  8102.     BRA    DEBUG
  8103.     ELSE
  8104.     JMP    ([A3,D1.W*4])
  8105.     ENDIF
  8106.  
  8107. MCBFD:                ; SET 7,L
  8108.     BSET    #7,D2
  8109.     MOVE.W    (A2)+,D1
  8110.     IF    DEEBUG
  8111.     BRA    DEBUG
  8112.     ELSE
  8113.     JMP    ([A3,D1.W*4])
  8114.     ENDIF
  8115.  
  8116. MCBFE:                ; SET 7,(HL)
  8117.     MOVEQ    #0,D1
  8118.     MOVE.W    D2,D1
  8119.     CMPI.W    #$4000,D1    
  8120.     BCS.B    .L1
  8121.     BSET    #7,(A0,D1.L)
  8122.     MOVE.W    (A2)+,D1
  8123.     IF    DEEBUG
  8124.     BRA    DEBUG
  8125.     ELSE
  8126.     JMP    ([A3,D1.W*4])
  8127.     ENDIF
  8128. .L1
  8129.     CMPI.W    #$3BFF,D1    
  8130.     BHI.B    .L2
  8131.     MOVE.W    (A2)+,D1
  8132.     IF    DEEBUG
  8133.     BRA    DEBUG
  8134.     ELSE
  8135.     JMP    ([A3,D1.W*4])
  8136.     ENDIF
  8137. .L2
  8138.     BSET    #7,(A0,D1.L)
  8139.     MOVE.B    (A0,D1.L),D6    
  8140.     BSR    _screenwrite
  8141.     MOVE.W    (A2)+,D1
  8142.     IF    DEEBUG
  8143.     BRA    DEBUG
  8144.     ELSE
  8145.     JMP    ([A3,D1.W*4])
  8146.     ENDIF
  8147.  
  8148. MCBFF:                ; SET 7,A
  8149.     BSET    #7,D0
  8150.     MOVE.W    (A2)+,D1
  8151.     IF    DEEBUG
  8152.     BRA    DEBUG
  8153.     ELSE
  8154.     JMP    ([A3,D1.W*4])
  8155.     ENDIF
  8156.  
  8157.  
  8158. * DD INSTRUCTIONS
  8159.  
  8160. MDD09:                ; ADD IX,BC
  8161.     SUBA.L    A0,A1
  8162.     MOVE.L    A1,D7
  8163.     ADD.W    D3,D7
  8164.     SCS.W    D6
  8165.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8166.     ANDI.W    #$11,D6
  8167.     OR.B    D6,D4        ; SET X,C IF CARRY
  8168.     MOVEQ    #0,D5        ; SET H,N=0
  8169.     MOVE.L    A0,A1
  8170.     ADDA.L    D7,A1
  8171.     MOVE.W    (A2)+,D1
  8172.     IF    DEEBUG
  8173.     BRA    DEBUG
  8174.     ELSE
  8175.     JMP    ([A3,D1.W*4])
  8176.     ENDIF
  8177.  
  8178. MDD19:                ; ADD IX,DE
  8179.     SUBA.L    A0,A1
  8180.     MOVE.L    A1,D7
  8181.     SWAP    D3
  8182.     ADD.W    D3,D7
  8183.     SCS.W    D6
  8184.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8185.     ANDI.W    #$11,D6
  8186.     OR.B    D6,D4        ; SET X,C IF CARRY
  8187.     MOVEQ    #0,D5        ; SET H,N=0
  8188.     SWAP    D3
  8189.     MOVE.L    A0,A1
  8190.     ADDA.L    D7,A1
  8191.     MOVE.W    (A2)+,D1
  8192.     IF    DEEBUG
  8193.     BRA    DEBUG
  8194.     ELSE
  8195.     JMP    ([A3,D1.W*4])
  8196.     ENDIF
  8197.  
  8198.  
  8199. MDD21:                ; LD IX,XXXX
  8200.     MOVE.W    (A2)+,D1
  8201.     ROL.W    #8,D1
  8202.     MOVEQ    #0,D7
  8203.     MOVE.W    D1,D7
  8204.     MOVE.L    A0,A1
  8205.     ADDA.L    D7,A1
  8206.     MOVE.W    (A2)+,D1
  8207.     IF    DEEBUG
  8208.     BRA    DEBUG
  8209.     ELSE
  8210.     JMP    ([A3,D1.W*4])
  8211.     ENDIF
  8212.  
  8213. MDD22:                ; LD (XXXX),IX
  8214.     MOVE.W    (A2)+,D1
  8215.     ROL.W    #8,D1
  8216.     MOVEQ    #0,D7
  8217.     MOVE.W    D1,D7
  8218.     SUBA.L    A0,A1
  8219.     MOVE.L    A1,D6
  8220.     ROL.W    #8,D6
  8221.     MOVE.W    D6,(A0,D7.L)
  8222.     ADDA.L    A0,A1
  8223.     MOVE.W    (A2)+,D1
  8224.     IF    DEEBUG
  8225.     BRA    DEBUG
  8226.     ELSE
  8227.     JMP    ([A3,D1.W*4])
  8228.     ENDIF
  8229.  
  8230. MDD23:                ; INC IX
  8231.     SUBA.L    A0,A1
  8232.     MOVE.L    A1,D7
  8233.     ADDQ.W    #1,D7
  8234.     MOVE.L    A0,A1
  8235.     ADDA.L    D7,A1
  8236.     MOVE.W    (A2)+,D1
  8237.     IF    DEEBUG
  8238.     BRA    DEBUG
  8239.     ELSE
  8240.     JMP    ([A3,D1.W*4])
  8241.     ENDIF
  8242.  
  8243. MDD29:                ; ADD IX,IX
  8244.     SUBA.L    A0,A1
  8245.     MOVE.L    A1,D7
  8246.     ADD.W    D7,D7
  8247.     SCS.W    D6
  8248.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8249.     ANDI.W    #$11,D6
  8250.     OR.B    D6,D4        ; SET X,C IF CARRY
  8251.     MOVEQ    #0,D5        ; SET H,N=0
  8252.     MOVE.L    A0,A1
  8253.     ADDA.L    D7,A1
  8254.     MOVE.W    (A2)+,D1
  8255.     IF    DEEBUG
  8256.     BRA    DEBUG
  8257.     ELSE
  8258.     JMP    ([A3,D1.W*4])
  8259.     ENDIF
  8260.  
  8261. MDD2A:                ; LD IX,(XXXX)
  8262.     MOVE.W    (A2)+,D1
  8263.     ROL.W    #8,D1
  8264.     MOVEQ    #0,D7
  8265.     MOVE.W    D1,D7
  8266.     MOVE.W    (A0,D7.L),D7
  8267.     ROL.W    #8,D7
  8268.     MOVE.L    A0,A1
  8269.     ADDA.L    D7,A1
  8270.     MOVE.W    (A2)+,D1
  8271.     IF    DEEBUG
  8272.     BRA    DEBUG
  8273.     ELSE
  8274.     JMP    ([A3,D1.W*4])
  8275.     ENDIF
  8276.  
  8277. MDD2B:                ; DEC IX
  8278.     SUBA.L    A0,A1
  8279.     MOVE.L    A1,D7
  8280.     SUBQ.W    #1,D7
  8281.     MOVE.L    A0,A1
  8282.     ADDA.L    D7,A1
  8283.     MOVE.W    (A2)+,D1
  8284.     IF    DEEBUG
  8285.     BRA    DEBUG
  8286.     ELSE
  8287.     JMP    ([A3,D1.W*4])
  8288.     ENDIF
  8289.  
  8290. MDD34:                ; INC (IX+D)
  8291.     MOVE.W    D4,-(SP)    ; SAVE X,C AS NOT AFFECTED
  8292.     SUBA.L    A0,A1
  8293.     MOVE.L    A1,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  8294.     MOVE.B    (A2)+,D7
  8295.     EXT.W    D7
  8296.     ADD.W    D7,D1
  8297.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  8298.     BCS.B    .L1
  8299.     ADDA.L    A0,A1
  8300.     MOVE.B    (A1,D7.L),D6
  8301.     MOVE.W    D4,CCR
  8302.     ADDQ.B    #1,D6
  8303.     MOVE.W    CCR,D4
  8304.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8305.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8306.     ANDI.W    #$11,D1
  8307.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8308.     MOVE.B    D6,(A1,D7.L)
  8309.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO ADD TABLE
  8310.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8311.     MOVE.W    (A2)+,D1
  8312.     IF    DEEBUG
  8313.     BRA    DEBUG
  8314.     ELSE
  8315.     JMP    ([A3,D1.W*4])
  8316.     ENDIF
  8317. .L1
  8318.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  8319.     BHI.B    .L2
  8320.     ADDA.L    A0,A1
  8321.     MOVE.B    (A1,D7.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  8322.     MOVE.W    D4,CCR        ; ANY MEMORY
  8323.     ADDQ.B    #1,D6
  8324.     MOVE.W    CCR,D4
  8325.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8326.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8327.     ANDI.W    #$11,D1
  8328.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8329.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  8330.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8331.     MOVE.W    (A2)+,D1
  8332.     IF    DEEBUG
  8333.     BRA    DEBUG
  8334.     ELSE
  8335.     JMP    ([A3,D1.W*4])
  8336.     ENDIF
  8337. .L2
  8338.     ADDA.L    A0,A1
  8339.     MOVE.B    (A1,D7.L),D6
  8340.     MOVE.W    D4,CCR
  8341.     ADDQ.B    #1,D6
  8342.     MOVE.W    CCR,D4
  8343.     MOVE.B    D6,(A1,D7.L)
  8344.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  8345.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8346.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  8347.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8348.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8349.     ANDI.W    #$11,D1
  8350.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8351.     MOVE.W    (A2)+,D1
  8352.     IF    DEEBUG
  8353.     BRA    DEBUG
  8354.     ELSE
  8355.     JMP    ([A3,D1.W*4])
  8356.     ENDIF
  8357.  
  8358. MDD35:                ; DEC (IX+D)
  8359.     MOVE.W    D4,-(SP)    ; SAVE X,C AS NOT AFFECTED
  8360.     SUBA.L    A0,A1
  8361.     MOVE.L    A1,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  8362.     MOVE.B    (A2)+,D7
  8363.     EXT.W    D7
  8364.     ADD.W    D7,D1
  8365.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  8366.     BCS.B    .L1
  8367.     ADDA.L    A0,A1
  8368.     MOVE.B    (A1,D7.L),D6
  8369.     MOVE.W    D4,CCR
  8370.     SUBQ.B    #1,D6
  8371.     MOVE.W    CCR,D4
  8372.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8373.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8374.     ANDI.W    #$11,D1
  8375.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8376.     MOVE.B    D6,(A1,D7.L)
  8377.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  8378.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8379.     MOVE.W    (A2)+,D1
  8380.     IF    DEEBUG
  8381.     BRA    DEBUG
  8382.     ELSE
  8383.     JMP    ([A3,D1.W*4])
  8384.     ENDIF
  8385. .L1
  8386.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  8387.     BHI.B    .L2
  8388.     ADDA.L    A0,A1
  8389.     MOVE.B    (A1,D7.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  8390.     MOVE.W    D4,CCR        ; ANY MEMORY
  8391.     SUBQ.B    #1,D6
  8392.     MOVE.W    CCR,D4
  8393.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8394.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8395.     ANDI.W    #$11,D1
  8396.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8397.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  8398.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8399.     MOVE.W    (A2)+,D1
  8400.     IF    DEEBUG
  8401.     BRA    DEBUG
  8402.     ELSE
  8403.     JMP    ([A3,D1.W*4])
  8404.     ENDIF
  8405. .L2
  8406.     ADDA.L    A0,A1
  8407.     MOVE.B    (A1,D7.L),D6
  8408.     MOVE.W    D4,CCR
  8409.     SUBQ.B    #1,D6
  8410.     MOVE.W    CCR,D4
  8411.     MOVE.B    D6,(A1,D7.L)
  8412.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  8413.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8414.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  8415.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  8416.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8417.     ANDI.W    #$11,D1
  8418.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  8419.     MOVE.W    (A2)+,D1
  8420.     IF    DEEBUG
  8421.     BRA    DEBUG
  8422.     ELSE
  8423.     JMP    ([A3,D1.W*4])
  8424.     ENDIF
  8425.  
  8426. MDD36:                ; LD (IX+D),N
  8427.     SUBA.L    A0,A1
  8428.     MOVE.L    A1,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  8429.     MOVE.B    (A2)+,D7
  8430.     EXT.W    D7
  8431.     ADD.W    D7,D1
  8432.     CMPI.W    #$4000,D1    ; if (IX+D) >= 4000 do the instruction
  8433.     BCS.B    .L1
  8434.     MOVE.B    (A2)+,D1
  8435.     ADDA.L    A0,A1
  8436.     MOVE.B    D1,(A1,D7.W)
  8437.     MOVE.W    (A2)+,D1
  8438.     IF    DEEBUG
  8439.     BRA    DEBUG
  8440.     ELSE
  8441.     JMP    ([A3,D1.W*4])
  8442.     ENDIF
  8443.  
  8444. .L1
  8445.     CMPI.W    #$3BFF,D1    ; if (IX+D) < 3C00 we are in ROM so do nothing
  8446.     BHI.B    .L2
  8447.     ADDA.L    A0,A1
  8448.     ADDQ.L    #1,A2        ; will catch (IX+d)>FFFF aswell 
  8449.     MOVE.W    (A2)+,D1
  8450.     IF    DEEBUG
  8451.     BRA    DEBUG
  8452.     ELSE
  8453.     JMP    ([A3,D1.W*4])
  8454.     ENDIF
  8455. .L2
  8456.     MOVE.B    (A2)+,D6
  8457.     ADDA.L    A0,A1
  8458.     MOVE.B    D6,(A1,D7.W)    ; (IX+D) is pointing at the screen so update the
  8459.     BSR    _screenwrite    ; screen with N
  8460.     MOVE.W    (A2)+,D1
  8461.     IF    DEEBUG
  8462.     BRA    DEBUG
  8463.     ELSE
  8464.     JMP    ([A3,D1.W*4])
  8465.     ENDIF
  8466.  
  8467. MDD39:                ; ADD IX,SP
  8468.     SUBA.L    A0,A4
  8469.     MOVE.L    A4,D7
  8470.     SUBA.L    A0,A1
  8471.     MOVE.L    A1,D6
  8472.     ADD.W    D7,D6
  8473.     SCS.B    D7
  8474.     ANDI.W    #$EE,D4        ; CLEAR X,C
  8475.     ANDI.W    #$11,D7
  8476.     OR.B    D7,D4        ; SET X,C IF CARRY
  8477.     MOVEQ    #0,D5        ; SET H,N=0
  8478.     ADDA.L    A0,A4
  8479.     MOVE.L    D6,A1
  8480.     ADDA.L    A0,A1
  8481.     MOVE.W    (A2)+,D1
  8482.     IF    DEEBUG
  8483.     BRA    DEBUG
  8484.     ELSE
  8485.     JMP    ([A3,D1.W*4])
  8486.     ENDIF
  8487.  
  8488. MDD46:                ; LD B,(IX+D)
  8489.     MOVE.B    (A2)+,D1
  8490.     EXT.W    D1
  8491.     ROL.W    #8,D3
  8492.     MOVE.B    (A1,D1.W),D3
  8493.     ROL.W    #8,D3
  8494.     MOVE.W    (A2)+,D1
  8495.     IF    DEEBUG
  8496.     BRA    DEBUG
  8497.     ELSE
  8498.     JMP    ([A3,D1.W*4])
  8499.     ENDIF
  8500.  
  8501. MDD4E:                ; LD C,(IX+D)
  8502.     MOVE.B    (A2)+,D1
  8503.     EXT.W    D1
  8504.     MOVE.B    (A1,D1.W),D3
  8505.     MOVE.W    (A2)+,D1
  8506.     IF    DEEBUG
  8507.     BRA    DEBUG
  8508.     ELSE
  8509.     JMP    ([A3,D1.W*4])
  8510.     ENDIF
  8511.  
  8512. MDD56:                ; LD D,(IX+D)
  8513.     MOVE.B    (A2)+,D1
  8514.     EXT.W    D1
  8515.     ROL.L    #8,D3
  8516.     MOVE.B    (A1,D1.W),D3
  8517.     ROR.L    #8,D3
  8518.     MOVE.W    (A2)+,D1
  8519.     IF    DEEBUG
  8520.     BRA    DEBUG
  8521.     ELSE
  8522.     JMP    ([A3,D1.W*4])
  8523.     ENDIF
  8524.  
  8525. MDD5E:                ; LD E,(IX+D)
  8526.     MOVE.B    (A2)+,D1
  8527.     EXT.W    D1
  8528.     SWAP    D3
  8529.     MOVE.B    (A1,D1.W),D0
  8530.     SWAP    D3
  8531.     MOVE.W    (A2)+,D1
  8532.     IF    DEEBUG
  8533.     BRA    DEBUG
  8534.     ELSE
  8535.     JMP    ([A3,D1.W*4])
  8536.     ENDIF
  8537.  
  8538. MDD66:                ; LD H,(IX+D)
  8539.     MOVE.B    (A2)+,D1
  8540.     EXT.W    D1
  8541.     ROL.W    #8,D2
  8542.     MOVE.B    (A1,D1.W),D2
  8543.     ROL.W    #8,D2
  8544.     MOVE.W    (A2)+,D1
  8545.     IF    DEEBUG
  8546.     BRA    DEBUG
  8547.     ELSE
  8548.     JMP    ([A3,D1.W*4])
  8549.     ENDIF
  8550.  
  8551. MDD6E:                ; LD L,(IX+D)
  8552.     MOVE.B    (A2)+,D1
  8553.     EXT.W    D1
  8554.     MOVE.B    (A1,D1.W),D2
  8555.     MOVE.W    (A2)+,D1
  8556.     IF    DEEBUG
  8557.     BRA    DEBUG
  8558.     ELSE
  8559.     JMP    ([A3,D1.W*4])
  8560.     ENDIF
  8561.  
  8562. MDD70:                ; LD (IX+D),B
  8563.     SUBA.L    A0,A1
  8564.     MOVE.L    A1,D1        
  8565.     MOVE.B    (A2)+,D7
  8566.     EXT.W    D7
  8567.     ADD.W    D7,D1
  8568.     CMPI.W    #$4000,D1    
  8569.     BCS.B    .L1
  8570.     ADDA.L    A0,A1
  8571.     ROL.W    #8,D3
  8572.     MOVE.B    D3,(A1,D7.W)
  8573.     ROL.W    #8,D3
  8574.     MOVE.W    (A2)+,D1
  8575.     IF    DEEBUG
  8576.     BRA    DEBUG
  8577.     ELSE
  8578.     JMP    ([A3,D1.W*4])
  8579.     ENDIF
  8580.  
  8581. .L1
  8582.     CMPI.W    #$3BFF,D1    
  8583.     BHI.B    .L2
  8584.     ADDA.L    A0,A1         
  8585.     MOVE.W    (A2)+,D1
  8586.     IF    DEEBUG
  8587.     BRA    DEBUG
  8588.     ELSE
  8589.     JMP    ([A3,D1.W*4])
  8590.     ENDIF
  8591. .L2
  8592.     MOVE.W    D3,D6
  8593.     ADDA.L    A0,A1
  8594.     ROL.W    #8,D6
  8595.     MOVE.B    D6,(A1,D7.W)    
  8596.     BSR    _screenwrite    
  8597.     MOVE.W    (A2)+,D1
  8598.     IF    DEEBUG
  8599.     BRA    DEBUG
  8600.     ELSE
  8601.     JMP    ([A3,D1.W*4])
  8602.     ENDIF
  8603.  
  8604. MDD71:                ; LD (IX+D),C
  8605.     SUBA.L    A0,A1
  8606.     MOVE.L    A1,D1        
  8607.     MOVE.B    (A2)+,D7
  8608.     EXT.W    D7
  8609.     ADD.W    D7,D1
  8610.     CMPI.W    #$4000,D1    
  8611.     BCS.B    .L1
  8612.     ADDA.L    A0,A1
  8613.     MOVE.B    D3,(A1,D7.W)
  8614.     MOVE.W    (A2)+,D1
  8615.     IF    DEEBUG
  8616.     BRA    DEBUG
  8617.     ELSE
  8618.     JMP    ([A3,D1.W*4])
  8619.     ENDIF
  8620.  
  8621. .L1
  8622.     CMPI.W    #$3BFF,D1    
  8623.     BHI.B    .L2
  8624.     ADDA.L    A0,A1         
  8625.     MOVE.W    (A2)+,D1
  8626.     IF    DEEBUG
  8627.     BRA    DEBUG
  8628.     ELSE
  8629.     JMP    ([A3,D1.W*4])
  8630.     ENDIF
  8631. .L2
  8632.     MOVE.B    D3,D6
  8633.     ADDA.L    A0,A1
  8634.     MOVE.B    D6,(A1,D7.W)    
  8635.     BSR    _screenwrite    
  8636.     MOVE.W    (A2)+,D1
  8637.     IF    DEEBUG
  8638.     BRA    DEBUG
  8639.     ELSE
  8640.     JMP    ([A3,D1.W*4])
  8641.     ENDIF
  8642.  
  8643. MDD72:                ; LD (IX+D),D
  8644.     SUBA.L    A0,A1
  8645.     MOVE.L    A1,D1        
  8646.     MOVE.B    (A2)+,D7
  8647.     EXT.W    D7
  8648.     ADD.W    D7,D1
  8649.     CMPI.W    #$4000,D1    
  8650.     BCS.B    .L1
  8651.     ADDA.L    A0,A1
  8652.     ROL.L    #8,D3
  8653.     MOVE.B    D3,(A1,D7.W)
  8654.     ROR.L    #8,D3
  8655.     MOVE.W    (A2)+,D1
  8656.     IF    DEEBUG
  8657.     BRA    DEBUG
  8658.     ELSE
  8659.     JMP    ([A3,D1.W*4])
  8660.     ENDIF
  8661.  
  8662. .L1
  8663.     CMPI.W    #$3BFF,D1    
  8664.     BHI.B    .L2
  8665.     ADDA.L    A0,A1         
  8666.     MOVE.W    (A2)+,D1
  8667.     IF    DEEBUG
  8668.     BRA    DEBUG
  8669.     ELSE
  8670.     JMP    ([A3,D1.W*4])
  8671.     ENDIF
  8672. .L2
  8673.     MOVE.L    D3,D6
  8674.     ADDA.L    A0,A1
  8675.     ROL.L    #8,D6
  8676.     MOVE.B    D6,(A1,D7.W)    
  8677.     BSR    _screenwrite    
  8678.     MOVE.W    (A2)+,D1
  8679.     IF    DEEBUG
  8680.     BRA    DEBUG
  8681.     ELSE
  8682.     JMP    ([A3,D1.W*4])
  8683.     ENDIF
  8684.  
  8685. MDD73:                ; LD (IX+D),E
  8686.     SUBA.L    A0,A1
  8687.     MOVE.L    A1,D1        
  8688.     MOVE.B    (A2)+,D7
  8689.     EXT.W    D7
  8690.     ADD.W    D7,D1
  8691.     CMPI.W    #$4000,D1    
  8692.     BCS.B    .L1
  8693.     ADDA.L    A0,A1
  8694.     SWAP    D3
  8695.     MOVE.B    D3,(A1,D7.W)
  8696.     SWAP    D3
  8697.     MOVE.W    (A2)+,D1
  8698.     IF    DEEBUG
  8699.     BRA    DEBUG
  8700.     ELSE
  8701.     JMP    ([A3,D1.W*4])
  8702.     ENDIF
  8703.  
  8704. .L1
  8705.     CMPI.W    #$3BFF,D1    
  8706.     BHI.B    .L2
  8707.     ADDA.L    A0,A1         
  8708.     MOVE.W    (A2)+,D1
  8709.     IF    DEEBUG
  8710.     BRA    DEBUG
  8711.     ELSE
  8712.     JMP    ([A3,D1.W*4])
  8713.     ENDIF
  8714. .L2
  8715.     MOVE.L    D3,D6
  8716.     ADDA.L    A0,A1
  8717.     SWAP    D6
  8718.     MOVE.B    D6,(A1,D7.W)    
  8719.     BSR    _screenwrite    
  8720.     MOVE.W    (A2)+,D1
  8721.     IF    DEEBUG
  8722.     BRA    DEBUG
  8723.     ELSE
  8724.     JMP    ([A3,D1.W*4])
  8725.     ENDIF
  8726.  
  8727. MDD74:                ; LD (IX+D),H
  8728.     SUBA.L    A0,A1
  8729.     MOVE.L    A1,D1        
  8730.     MOVE.B    (A2)+,D7
  8731.     EXT.W    D7
  8732.     ADD.W    D7,D1
  8733.     CMPI.W    #$4000,D1    
  8734.     BCS.B    .L1
  8735.     ADDA.L    A0,A1
  8736.     ROL.W    #8,D2
  8737.     MOVE.B    D2,(A1,D7.W)
  8738.     ROL.W    #8,D2
  8739.     MOVE.W    (A2)+,D1
  8740.     IF    DEEBUG
  8741.     BRA    DEBUG
  8742.     ELSE
  8743.     JMP    ([A3,D1.W*4])
  8744.     ENDIF
  8745.  
  8746. .L1
  8747.     CMPI.W    #$3BFF,D1    
  8748.     BHI.B    .L2
  8749.     ADDA.L    A0,A1         
  8750.     MOVE.W    (A2)+,D1
  8751.     IF    DEEBUG
  8752.     BRA    DEBUG
  8753.     ELSE
  8754.     JMP    ([A3,D1.W*4])
  8755.     ENDIF
  8756. .L2
  8757.     MOVE.W    D2,D6
  8758.     ADDA.L    A0,A1
  8759.     ROL.W    #8,D6
  8760.     MOVE.B    D6,(A1,D7.W)    
  8761.     BSR    _screenwrite    
  8762.     MOVE.W    (A2)+,D1
  8763.     IF    DEEBUG
  8764.     BRA    DEBUG
  8765.     ELSE
  8766.     JMP    ([A3,D1.W*4])
  8767.     ENDIF
  8768.  
  8769. MDD75:                ; LD (IX+D),L
  8770.     SUBA.L    A0,A1
  8771.     MOVE.L    A1,D1        
  8772.     MOVE.B    (A2)+,D7
  8773.     EXT.W    D7
  8774.     ADD.W    D7,D1
  8775.     CMPI.W    #$4000,D1    
  8776.     BCS.B    .L1
  8777.     ADDA.L    A0,A1
  8778.     MOVE.B    D2,(A1,D7.W)
  8779.     MOVE.W    (A2)+,D1
  8780.     IF    DEEBUG
  8781.     BRA    DEBUG
  8782.     ELSE
  8783.     JMP    ([A3,D1.W*4])
  8784.     ENDIF
  8785.  
  8786. .L1
  8787.     CMPI.W    #$3BFF,D1    
  8788.     BHI.B    .L2
  8789.     ADDA.L    A0,A1         
  8790.     MOVE.W    (A2)+,D1
  8791.     IF    DEEBUG
  8792.     BRA    DEBUG
  8793.     ELSE
  8794.     JMP    ([A3,D1.W*4])
  8795.     ENDIF
  8796. .L2
  8797.     MOVE.B    D2,D6
  8798.     ADDA.L    A0,A1
  8799.     MOVE.B    D6,(A1,D7.W)    
  8800.     BSR    _screenwrite    
  8801.     MOVE.W    (A2)+,D1
  8802.     IF    DEEBUG
  8803.     BRA    DEBUG
  8804.     ELSE
  8805.     JMP    ([A3,D1.W*4])
  8806.     ENDIF
  8807.  
  8808. MDD77:                ; LD (IX+D),A
  8809.     SUBA.L    A0,A1
  8810.     MOVE.L    A1,D1        
  8811.     MOVE.B    (A2)+,D7
  8812.     EXT.W    D7
  8813.     ADD.W    D7,D1
  8814.     CMPI.W    #$4000,D1    
  8815.     BCS.B    .L1
  8816.     ADDA.L    A0,A1
  8817.     MOVE.B    D0,(A1,D7.W)
  8818.     MOVE.W    (A2)+,D1
  8819.     IF    DEEBUG
  8820.     BRA    DEBUG
  8821.     ELSE
  8822.     JMP    ([A3,D1.W*4])
  8823.     ENDIF
  8824.  
  8825. .L1
  8826.     CMPI.W    #$3BFF,D1    
  8827.     BHI.B    .L2
  8828.     ADDA.L    A0,A1         
  8829.     MOVE.W    (A2)+,D1
  8830.     IF    DEEBUG
  8831.     BRA    DEBUG
  8832.     ELSE
  8833.     JMP    ([A3,D1.W*4])
  8834.     ENDIF
  8835. .L2
  8836.     MOVE.B    D0,D6
  8837.     ADDA.L    A0,A1
  8838.     MOVE.B    D6,(A1,D7.W)    
  8839.     BSR    _screenwrite    
  8840.     MOVE.W    (A2)+,D1
  8841.     IF    DEEBUG
  8842.     BRA    DEBUG
  8843.     ELSE
  8844.     JMP    ([A3,D1.W*4])
  8845.     ENDIF
  8846.  
  8847. MDD7E:                ; LD A,(IX+D)
  8848.     MOVE.B    (A2)+,D1
  8849.     EXT.W    D1
  8850.     MOVE.B    (A1,D1.W),D0
  8851.     MOVE.W    (A2)+,D1
  8852.     IF    DEEBUG
  8853.     BRA    DEBUG
  8854.     ELSE
  8855.     JMP    ([A3,D1.W*4])
  8856.     ENDIF
  8857.  
  8858. MDD86:                ; ADD A,(IX+D)
  8859.     MOVE.B    (A2)+,D1
  8860.     EXT.W    D1
  8861.     MOVE.W    D4,CCR
  8862.     ADD.B    (A1,D1.W),D0
  8863.     MOVE.W    CCR,D4
  8864.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  8865.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8866.     MOVE.W    (A2)+,D1
  8867.     IF    DEEBUG
  8868.     BRA    DEBUG
  8869.     ELSE
  8870.     JMP    ([A3,D1.W*4])
  8871.     ENDIF
  8872.  
  8873. MDD8E:                ; ADC A,(IX+D)
  8874.     MOVE.B    (A2)+,D1
  8875.     EXT.W    D1
  8876.     MOVE.B    (A1,D1.W),D7
  8877.     MOVE.W    D4,CCR
  8878.     ADDX.B    D7,D0
  8879.     MOVE.W    CCR,D4
  8880.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  8881.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  8882.     MOVE.W    (A2)+,D1
  8883.     IF    DEEBUG
  8884.     BRA    DEBUG
  8885.     ELSE
  8886.     JMP    ([A3,D1.W*4])
  8887.     ENDIF
  8888.  
  8889. MDD96:                ; SUB (IX+D)
  8890.     MOVE.B    (A2)+,D1
  8891.     EXT.W    D1
  8892.     MOVE.W    D4,CCR
  8893.     SUB.B    (A1,D1.W),D0
  8894.     MOVE.W    CCR,D4
  8895.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  8896.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8897.     MOVE.W    (A2)+,D1
  8898.     IF    DEEBUG
  8899.     BRA    DEBUG
  8900.     ELSE
  8901.     JMP    ([A3,D1.W*4])
  8902.     ENDIF
  8903.  
  8904. MDD9E:                ; SBC A,(IX+D)
  8905.     MOVE.B    (A2)+,D1
  8906.     EXT.W    D1
  8907.     MOVE.B    (A1,D1.W),D7
  8908.     MOVE.W    D4,CCR
  8909.     SUBX.B    D7,D0
  8910.     MOVE.W    CCR,D4
  8911.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  8912.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8913.     MOVE.W    (A2)+,D1
  8914.     IF    DEEBUG
  8915.     BRA    DEBUG
  8916.     ELSE
  8917.     JMP    ([A3,D1.W*4])
  8918.     ENDIF
  8919.  
  8920. MDDA6:                ; AND (IX+D)
  8921.     MOVE.B    (A2)+,D1
  8922.     EXT.W    D1
  8923.     MOVE.W    D4,CCR
  8924.     AND.B    (A1,D1.W),D0
  8925.     MOVE.W    CCR,D4
  8926.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  8927.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  8928.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  8929.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  8930.     MOVE.W    (A2)+,D1
  8931.     IF    DEEBUG
  8932.     BRA    DEBUG
  8933.     ELSE
  8934.     JMP    ([A3,D1.W*4])
  8935.     ENDIF
  8936.  
  8937. MDDAE:                ; XOR (IX+D)
  8938.     MOVE.B    (A2)+,D1
  8939.     EXT.W    D1
  8940.     MOVE.B    (A1,D1.W),D7
  8941.     MOVE.W    D4,CCR
  8942.     EOR.B    D7,D0
  8943.     MOVE.W    CCR,D4
  8944.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  8945.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  8946.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  8947.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  8948.     MOVE.W    (A2)+,D1
  8949.     IF    DEEBUG
  8950.     BRA    DEBUG
  8951.     ELSE
  8952.     JMP    ([A3,D1.W*4])
  8953.     ENDIF
  8954.  
  8955. MDDB6:                ; OR (IX+D)
  8956.     MOVE.B    (A2)+,D1
  8957.     EXT.W    D1
  8958.     MOVE.W    D4,CCR
  8959.     OR.B    (A1,D1.W),D0
  8960.     MOVE.W    CCR,D4
  8961.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  8962.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  8963.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  8964.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  8965.     MOVE.W    (A2)+,D1
  8966.     IF    DEEBUG
  8967.     BRA    DEBUG
  8968.     ELSE
  8969.     JMP    ([A3,D1.W*4])
  8970.     ENDIF
  8971.  
  8972. MDDBE:                ; CP (IX+D)
  8973.     MOVE.B    D0,D6
  8974.     MOVE.B    (A2)+,D1
  8975.     EXT.W    D1
  8976.     MOVE.W    D4,CCR
  8977.     SUB.B    (A1,D1.W),D6
  8978.     MOVE.W    CCR,D4
  8979.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  8980.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  8981.     MOVE.W    (A2)+,D1
  8982.     IF    DEEBUG
  8983.     BRA    DEBUG
  8984.     ELSE
  8985.     JMP    ([A3,D1.W*4])
  8986.     ENDIF
  8987.  
  8988. MDDCB:                ; various (IX+d) instructions    DD CB d X
  8989.     SUBA.L    A0,A1        ; get real IX val
  8990.     MOVE.L    A1,D1
  8991.     ADDA.L    A0,A1        
  8992.     MOVE.B    (A2)+,D7    ; get d offset
  8993.     EXT.W    D7        ; sign extend
  8994.     ADD.W    D7,D1        ; D1 now has (IX+d) for later use by screenwrite()
  8995.     MOVE.B    (A2)+,D7    ; get X to decide function to perform
  8996.  
  8997.     CMPI.B    #6,D7
  8998.     BEQ.W    DDRLC
  8999.     CMPI.B    #14,D7
  9000.     BEQ.W    DDRRC
  9001.     CMPI.B    #$16,D7
  9002.     BEQ.W    DDRL
  9003.     CMPI.B    #$1E,D7
  9004.     BEQ.W    DDRR
  9005.     CMPI.B    #$26,D7
  9006.     BEQ.W    DDSLA
  9007.     CMPI.B    #$2E,D7
  9008.     BEQ.W    DDSRA
  9009.     CMPI.B    #$3E,D7
  9010.     BEQ.W    DDSRL
  9011.     CMPI.B    #$46,D7
  9012.     BEQ.W    DDBT0
  9013.     CMPI.B    #$4E,D7
  9014.     BEQ.W    DDBT1
  9015.     CMPI.B    #$56,D7
  9016.     BEQ.W    DDBT2
  9017.     CMPI.B    #$5E,D7
  9018.     BEQ.W    DDBT3
  9019.     CMPI.B    #$66,D7
  9020.     BEQ.W    DDBT4
  9021.     CMPI.B    #$6E,D7
  9022.     BEQ.W    DDBT5
  9023.     CMPI.B    #$76,D7
  9024.     BEQ.W    DDBT6
  9025.     CMPI.B    #$7E,D7
  9026.     BEQ.W    DDBT7
  9027.     CMPI.B    #$86,D7
  9028.     BEQ.W    DDRS0
  9029.     CMPI.B    #$8E,D7
  9030.     BEQ.W    DDRS1
  9031.     CMPI.B    #$96,D7
  9032.     BEQ.W    DDRS2
  9033.     CMPI.B    #$9E,D7
  9034.     BEQ.W    DDRS3
  9035.     CMPI.B    #$A6,D7
  9036.     BEQ.W    DDRS4
  9037.     CMPI.B    #$AE,D7
  9038.     BEQ.W    DDRS5
  9039.     CMPI.B    #$B6,D7
  9040.     BEQ.W    DDRS6
  9041.     CMPI.B    #$BE,D7
  9042.     BEQ.W    DDRS7
  9043.     CMPI.B    #$C6,D7
  9044.     BEQ.W    DDST0
  9045.     CMPI.B    #$CE,D7
  9046.     BEQ.W    DDST1
  9047.     CMPI.B    #$D6,D7
  9048.     BEQ.W    DDST2
  9049.     CMPI.B    #$DE,D7
  9050.     BEQ.W    DDST3
  9051.     CMPI.B    #$E6,D7
  9052.     BEQ.W    DDST4
  9053.     CMPI.B    #$EE,D7
  9054.     BEQ.W    DDST5
  9055.     CMPI.B    #$F6,D7
  9056.     BEQ.W    DDST6
  9057.     CMPI.B    #$FE,D7
  9058.     BEQ.W    DDST7
  9059.  
  9060.     BRA    ILLEGAL        ; ILLEGAL IF NO MATCH IN TABLE
  9061.  
  9062. DDRLC:                ; RLC (IX+D)
  9063.  
  9064.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9065.     BCS.B    .L1
  9066.     MOVE.B    (A0,D1.L),D6
  9067.     MOVE.W    D4,CCR
  9068.     ROL.B    #1,D6
  9069.     MOVE.W    CCR,D4
  9070.     SCS    D7
  9071.     ANDI.B    #$01,D7
  9072.     ROL.B    #4,D7
  9073.     OR.B    D7,D4
  9074.     ANDI.W    #$00FF,D6
  9075.     OR.B    (A6,D6.W),D4
  9076.     MOVEQ.B    #0,D5
  9077.     MOVE.B    D6,(A0,D1.L)
  9078.     MOVE.W    (A2)+,D1
  9079.     IF    DEEBUG
  9080.     BRA    DEBUG
  9081.     ELSE
  9082.     JMP    ([A3,D1.W*4])
  9083.     ENDIF
  9084. .L1
  9085.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9086.     BHI.B    .L2
  9087.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9088.     ROL.B    #1,D6
  9089.     MOVE.W    CCR,D4
  9090.     SCS    D7
  9091.     ANDI.B    #$01,D7
  9092.     ROL.B    #4,D7
  9093.     OR.B    D7,D4
  9094.     ANDI.W    #$00FF,D6
  9095.     OR.B    (A6,D6.W),D4
  9096.     MOVEQ.B    #0,D5
  9097.     MOVE.W    (A2)+,D1
  9098.     IF    DEEBUG
  9099.     BRA    DEBUG
  9100.     ELSE
  9101.     JMP    ([A3,D1.W*4])
  9102.     ENDIF
  9103. .L2
  9104.     MOVE.B    (A0,D1.L),D6
  9105.     MOVE.W    D4,CCR
  9106.     ROL.B    #1,D6
  9107.     MOVE.W    CCR,D4
  9108.     SCS    D7
  9109.     ANDI.B    #$01,D7
  9110.     ROL.B    #4,D7
  9111.     OR.B    D7,D4
  9112.     ANDI.W    #$00FF,D6
  9113.     OR.B    (A6,D6.W),D4
  9114.     MOVEQ.B    #0,D5
  9115.     MOVE.B    D6,(A0,D1.L)
  9116.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9117.     MOVE.W    (A2)+,D1
  9118.     IF    DEEBUG
  9119.     BRA    DEBUG
  9120.     ELSE
  9121.     JMP    ([A3,D1.W*4])
  9122.     ENDIF
  9123.  
  9124. DDRRC:                ; RRC (IX+D)
  9125.  
  9126.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9127.     BCS.B    .L1
  9128.     MOVE.B    (A0,D1.L),D6
  9129.     MOVE.W    D4,CCR
  9130.     ROR.B    #1,D6
  9131.     MOVE.W    CCR,D4
  9132.     SCS    D7
  9133.     ANDI.B    #$01,D7
  9134.     ROL.B    #4,D7
  9135.     OR.B    D7,D4
  9136.     ANDI.W    #$00FF,D6
  9137.     OR.B    (A6,D6.W),D4
  9138.     MOVEQ.B    #0,D5
  9139.     MOVE.B    D6,(A0,D1.L)
  9140.     MOVE.W    (A2)+,D1
  9141.     IF    DEEBUG
  9142.     BRA    DEBUG
  9143.     ELSE
  9144.     JMP    ([A3,D1.W*4])
  9145.     ENDIF
  9146. .L1
  9147.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9148.     BHI.B    .L2
  9149.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9150.     ROR.B    #1,D6
  9151.     MOVE.W    CCR,D4
  9152.     SCS    D7
  9153.     ANDI.B    #$01,D7
  9154.     ROL.B    #4,D7
  9155.     OR.B    D7,D4
  9156.     ANDI.W    #$00FF,D6
  9157.     OR.B    (A6,D6.W),D4
  9158.     MOVEQ.B    #0,D5
  9159.     MOVE.W    (A2)+,D1
  9160.     IF    DEEBUG
  9161.     BRA    DEBUG
  9162.     ELSE
  9163.     JMP    ([A3,D1.W*4])
  9164.     ENDIF
  9165. .L2
  9166.     MOVE.B    (A0,D1.L),D6
  9167.     MOVE.W    D4,CCR
  9168.     ROR.B    #1,D6
  9169.     MOVE.W    CCR,D4
  9170.     SCS    D7
  9171.     ANDI.B    #$01,D7
  9172.     ROL.B    #4,D7
  9173.     OR.B    D7,D4
  9174.     ANDI.W    #$00FF,D6
  9175.     OR.B    (A6,D6.W),D4
  9176.     MOVEQ.B    #0,D5
  9177.     MOVE.B    D6,(A0,D1.L)
  9178.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9179.     MOVE.W    (A2)+,D1
  9180.     IF    DEEBUG
  9181.     BRA    DEBUG
  9182.     ELSE
  9183.     JMP    ([A3,D1.W*4])
  9184.     ENDIF
  9185.  
  9186. DDRL:                ; RL (IX+D)
  9187.  
  9188.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9189.     BCS.B    .L1
  9190.     MOVE.B    (A0,D1.L),D6
  9191.     MOVE.W    D4,CCR
  9192.     ROXL.B    #1,D6
  9193.     MOVE.W    CCR,D4
  9194.     SCS    D7
  9195.     ANDI.B    #$01,D7
  9196.     ROL.B    #4,D7
  9197.     OR.B    D7,D4
  9198.     ANDI.W    #$00FF,D6
  9199.     OR.B    (A6,D6.W),D4
  9200.     MOVEQ.B    #0,D5
  9201.     MOVE.B    D6,(A0,D1.L)
  9202.     MOVE.W    (A2)+,D1
  9203.     IF    DEEBUG
  9204.     BRA    DEBUG
  9205.     ELSE
  9206.     JMP    ([A3,D1.W*4])
  9207.     ENDIF
  9208. .L1
  9209.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9210.     BHI.B    .L2
  9211.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9212.     ROXL.B    #1,D6
  9213.     MOVE.W    CCR,D4
  9214.     SCS    D7
  9215.     ANDI.B    #$01,D7
  9216.     ROL.B    #4,D7
  9217.     OR.B    D7,D4
  9218.     ANDI.W    #$00FF,D6
  9219.     OR.B    (A6,D6.W),D4
  9220.     MOVEQ.B    #0,D5
  9221.     MOVE.W    (A2)+,D1
  9222.     IF    DEEBUG
  9223.     BRA    DEBUG
  9224.     ELSE
  9225.     JMP    ([A3,D1.W*4])
  9226.     ENDIF
  9227. .L2
  9228.     MOVE.B    (A0,D1.L),D6
  9229.     MOVE.W    D4,CCR
  9230.     ROXL.B    #1,D6
  9231.     MOVE.W    CCR,D4
  9232.     SCS    D7
  9233.     ANDI.B    #$01,D7
  9234.     ROL.B    #4,D7
  9235.     OR.B    D7,D4
  9236.     ANDI.W    #$00FF,D6
  9237.     OR.B    (A6,D6.W),D4
  9238.     MOVEQ.B    #0,D5
  9239.     MOVE.B    D6,(A0,D1.L)
  9240.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9241.     MOVE.W    (A2)+,D1
  9242.     IF    DEEBUG
  9243.     BRA    DEBUG
  9244.     ELSE
  9245.     JMP    ([A3,D1.W*4])
  9246.     ENDIF
  9247.  
  9248. DDRR:                ; RR (IX+D)
  9249.  
  9250.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9251.     BCS.B    .L1
  9252.     MOVE.B    (A0,D1.L),D6
  9253.     MOVE.W    D4,CCR
  9254.     ROXR.B    #1,D6
  9255.     MOVE.W    CCR,D4
  9256.     SCS    D7
  9257.     ANDI.B    #$01,D7
  9258.     ROL.B    #4,D7
  9259.     OR.B    D7,D4
  9260.     ANDI.W    #$00FF,D6
  9261.     OR.B    (A6,D6.W),D4
  9262.     MOVEQ.B    #0,D5
  9263.     MOVE.B    D6,(A0,D1.L)
  9264.     MOVE.W    (A2)+,D1
  9265.     IF    DEEBUG
  9266.     BRA    DEBUG
  9267.     ELSE
  9268.     JMP    ([A3,D1.W*4])
  9269.     ENDIF
  9270. .L1
  9271.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9272.     BHI.B    .L2
  9273.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9274.     ROXR.B    #1,D6
  9275.     MOVE.W    CCR,D4
  9276.     SCS    D7
  9277.     ANDI.B    #$01,D7
  9278.     ROL.B    #4,D7
  9279.     OR.B    D7,D4
  9280.     ANDI.W    #$00FF,D6
  9281.     OR.B    (A6,D6.W),D4
  9282.     MOVEQ.B    #0,D5
  9283.     MOVE.W    (A2)+,D1
  9284.     IF    DEEBUG
  9285.     BRA    DEBUG
  9286.     ELSE
  9287.     JMP    ([A3,D1.W*4])
  9288.     ENDIF
  9289. .L2
  9290.     MOVE.B    (A0,D1.L),D6
  9291.     MOVE.W    D4,CCR
  9292.     ROXR.B    #1,D6
  9293.     MOVE.W    CCR,D4
  9294.     SCS    D7
  9295.     ANDI.B    #$01,D7
  9296.     ROL.B    #4,D7
  9297.     OR.B    D7,D4
  9298.     ANDI.W    #$00FF,D6
  9299.     OR.B    (A6,D6.W),D4
  9300.     MOVEQ.B    #0,D5
  9301.     MOVE.B    D6,(A0,D1.L)
  9302.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9303.     MOVE.W    (A2)+,D1
  9304.     IF    DEEBUG
  9305.     BRA    DEBUG
  9306.     ELSE
  9307.     JMP    ([A3,D1.W*4])
  9308.     ENDIF
  9309.  
  9310. DDSLA:                ; SLA (IX+D)
  9311.  
  9312.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9313.     BCS.B    .L1
  9314.     MOVE.B    (A0,D1.L),D6
  9315.     MOVE.W    D4,CCR
  9316.     LSL.B    #1,D6
  9317.     MOVE.W    CCR,D4
  9318.     SCS    D7
  9319.     ANDI.B    #$01,D7
  9320.     ROL.B    #4,D7
  9321.     OR.B    D7,D4
  9322.     ANDI.W    #$00FF,D6
  9323.     OR.B    (A6,D6.W),D4
  9324.     MOVEQ.B    #0,D5
  9325.     MOVE.B    D6,(A0,D1.L)
  9326.     MOVE.W    (A2)+,D1
  9327.     IF    DEEBUG
  9328.     BRA    DEBUG
  9329.     ELSE
  9330.     JMP    ([A3,D1.W*4])
  9331.     ENDIF
  9332. .L1
  9333.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9334.     BHI.B    .L2
  9335.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9336.     LSL.B    #1,D6
  9337.     MOVE.W    CCR,D4
  9338.     SCS    D7
  9339.     ANDI.B    #$01,D7
  9340.     ROL.B    #4,D7
  9341.     OR.B    D7,D4
  9342.     ANDI.W    #$00FF,D6
  9343.     OR.B    (A6,D6.W),D4
  9344.     MOVEQ.B    #0,D5
  9345.     MOVE.W    (A2)+,D1
  9346.     IF    DEEBUG
  9347.     BRA    DEBUG
  9348.     ELSE
  9349.     JMP    ([A3,D1.W*4])
  9350.     ENDIF
  9351. .L2
  9352.     MOVE.B    (A0,D1.L),D6
  9353.     MOVE.W    D4,CCR
  9354.     LSL.B    #1,D6
  9355.     MOVE.W    CCR,D4
  9356.     SCS    D7
  9357.     ANDI.B    #$01,D7
  9358.     ROL.B    #4,D7
  9359.     OR.B    D7,D4
  9360.     ANDI.W    #$00FF,D6
  9361.     OR.B    (A6,D6.W),D4
  9362.     MOVEQ.B    #0,D5
  9363.     MOVE.B    D6,(A0,D1.L)
  9364.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9365.     MOVE.W    (A2)+,D1
  9366.     IF    DEEBUG
  9367.     BRA    DEBUG
  9368.     ELSE
  9369.     JMP    ([A3,D1.W*4])
  9370.     ENDIF
  9371.  
  9372. DDSRA:                ; SRA (IX+D)
  9373.  
  9374.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9375.     BCS.B    .L1
  9376.     MOVE.B    (A0,D1.L),D6
  9377.     MOVE.W    D4,CCR
  9378.     ASR.B    #1,D6
  9379.     MOVE.W    CCR,D4
  9380.     SCS    D7
  9381.     ANDI.B    #$01,D7
  9382.     ROL.B    #4,D7
  9383.     OR.B    D7,D4
  9384.     ANDI.W    #$00FF,D6
  9385.     OR.B    (A6,D6.W),D4
  9386.     MOVEQ.B    #0,D5
  9387.     MOVE.B    D6,(A0,D1.L)
  9388.     MOVE.W    (A2)+,D1
  9389.     IF    DEEBUG
  9390.     BRA    DEBUG
  9391.     ELSE
  9392.     JMP    ([A3,D1.W*4])
  9393.     ENDIF
  9394. .L1
  9395.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9396.     BHI.B    .L2
  9397.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9398.     ASR.B    #1,D6
  9399.     MOVE.W    CCR,D4
  9400.     SCS    D7
  9401.     ANDI.B    #$01,D7
  9402.     ROL.B    #4,D7
  9403.     OR.B    D7,D4
  9404.     ANDI.W    #$00FF,D6
  9405.     OR.B    (A6,D6.W),D4
  9406.     MOVEQ.B    #0,D5
  9407.     MOVE.W    (A2)+,D1
  9408.     IF    DEEBUG
  9409.     BRA    DEBUG
  9410.     ELSE
  9411.     JMP    ([A3,D1.W*4])
  9412.     ENDIF
  9413. .L2
  9414.     MOVE.B    (A0,D1.L),D6
  9415.     MOVE.W    D4,CCR
  9416.     ASR.B    #1,D6
  9417.     MOVE.W    CCR,D4
  9418.     SCS    D7
  9419.     ANDI.B    #$01,D7
  9420.     ROL.B    #4,D7
  9421.     OR.B    D7,D4
  9422.     ANDI.W    #$00FF,D6
  9423.     OR.B    (A6,D6.W),D4
  9424.     MOVEQ.B    #0,D5
  9425.     MOVE.B    D6,(A0,D1.L)
  9426.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9427.     MOVE.W    (A2)+,D1
  9428.     IF    DEEBUG
  9429.     BRA    DEBUG
  9430.     ELSE
  9431.     JMP    ([A3,D1.W*4])
  9432.     ENDIF
  9433.  
  9434. DDSRL:                ; SRL (IX+D)
  9435.  
  9436.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  9437.     BCS.B    .L1
  9438.     MOVE.B    (A0,D1.L),D6
  9439.     MOVE.W    D4,CCR
  9440.     LSR.B    #1,D6
  9441.     MOVE.W    CCR,D4
  9442.     SCS    D7
  9443.     ANDI.B    #$01,D7
  9444.     ROL.B    #4,D7
  9445.     OR.B    D7,D4
  9446.     ANDI.W    #$00FF,D6
  9447.     OR.B    (A6,D6.W),D4
  9448.     MOVEQ.B    #0,D5
  9449.     MOVE.B    D6,(A0,D1.L)
  9450.     MOVE.W    (A2)+,D1
  9451.     IF    DEEBUG
  9452.     BRA    DEBUG
  9453.     ELSE
  9454.     JMP    ([A3,D1.W*4])
  9455.     ENDIF
  9456. .L1
  9457.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  9458.     BHI.B    .L2
  9459.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  9460.     LSR.B    #1,D6
  9461.     MOVE.W    CCR,D4
  9462.     SCS    D7
  9463.     ANDI.B    #$01,D7
  9464.     ROL.B    #4,D7
  9465.     OR.B    D7,D4
  9466.     ANDI.W    #$00FF,D6
  9467.     OR.B    (A6,D6.W),D4
  9468.     MOVEQ.B    #0,D5
  9469.     MOVE.W    (A2)+,D1
  9470.     IF    DEEBUG
  9471.     BRA    DEBUG
  9472.     ELSE
  9473.     JMP    ([A3,D1.W*4])
  9474.     ENDIF
  9475. .L2
  9476.     MOVE.B    (A0,D1.L),D6
  9477.     MOVE.W    D4,CCR
  9478.     LSR.B    #1,D6
  9479.     MOVE.W    CCR,D4
  9480.     SCS    D7
  9481.     ANDI.B    #$01,D7
  9482.     ROL.B    #4,D7
  9483.     OR.B    D7,D4
  9484.     ANDI.W    #$00FF,D6
  9485.     OR.B    (A6,D6.W),D4
  9486.     MOVEQ.B    #0,D5
  9487.     MOVE.B    D6,(A0,D1.L)
  9488.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  9489.     MOVE.W    (A2)+,D1
  9490.     IF    DEEBUG
  9491.     BRA    DEBUG
  9492.     ELSE
  9493.     JMP    ([A3,D1.W*4])
  9494.     ENDIF
  9495.  
  9496. DDBT0:    MOVE.B    (A0,D1.L),D7        ; BTST 0 IXD
  9497.     MOVE.W    D4,CCR
  9498.     BTST    #0,D7
  9499.     MOVE.W    CCR,D4
  9500.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9501.     MOVE.W    (A2)+,D1
  9502.     IF    DEEBUG
  9503.     BRA    DEBUG
  9504.     ELSE
  9505.     JMP    ([A3,D1.W*4])
  9506.     ENDIF
  9507.  
  9508. DDBT1:    MOVE.B    (A0,D1.L),D7
  9509.     MOVE.W    D4,CCR
  9510.     BTST    #1,D7
  9511.     MOVE.W    CCR,D4
  9512.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9513.     MOVE.W    (A2)+,D1
  9514.     IF    DEEBUG
  9515.     BRA    DEBUG
  9516.     ELSE
  9517.     JMP    ([A3,D1.W*4])
  9518.     ENDIF
  9519.  
  9520. DDBT2:    MOVE.B    (A0,D1.L),D7
  9521.     MOVE.W    D4,CCR
  9522.     BTST    #2,D7
  9523.     MOVE.W    CCR,D4
  9524.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9525.     MOVE.W    (A2)+,D1
  9526.     IF    DEEBUG
  9527.     BRA    DEBUG
  9528.     ELSE
  9529.     JMP    ([A3,D1.W*4])
  9530.     ENDIF
  9531.  
  9532. DDBT3:    MOVE.B    (A0,D1.L),D7
  9533.     MOVE.W    D4,CCR
  9534.     BTST    #3,D7
  9535.     MOVE.W    CCR,D4
  9536.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9537.     MOVE.W    (A2)+,D1
  9538.     IF    DEEBUG
  9539.     BRA    DEBUG
  9540.     ELSE
  9541.     JMP    ([A3,D1.W*4])
  9542.     ENDIF
  9543.  
  9544. DDBT4:    MOVE.B    (A0,D1.L),D7
  9545.     MOVE.W    D4,CCR
  9546.     BTST    #4,D7
  9547.     MOVE.W    CCR,D4
  9548.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9549.     MOVE.W    (A2)+,D1
  9550.     IF    DEEBUG
  9551.     BRA    DEBUG
  9552.     ELSE
  9553.     JMP    ([A3,D1.W*4])
  9554.     ENDIF
  9555.  
  9556. DDBT5:    MOVE.B    (A0,D1.L),D7
  9557.     MOVE.W    D4,CCR
  9558.     BTST    #5,D7
  9559.     MOVE.W    CCR,D4
  9560.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9561.     MOVE.W    (A2)+,D1
  9562.     IF    DEEBUG
  9563.     BRA    DEBUG
  9564.     ELSE
  9565.     JMP    ([A3,D1.W*4])
  9566.     ENDIF
  9567.  
  9568. DDBT6:    MOVE.B    (A0,D1.L),D7
  9569.     MOVE.W    D4,CCR
  9570.     BTST    #6,D7
  9571.     MOVE.W    CCR,D4
  9572.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9573.     MOVE.W    (A2)+,D1
  9574.     IF    DEEBUG
  9575.     BRA    DEBUG
  9576.     ELSE
  9577.     JMP    ([A3,D1.W*4])
  9578.     ENDIF
  9579.  
  9580. DDBT7:    MOVE.B    (A0,D1.L),D7
  9581.     MOVE.W    D4,CCR
  9582.     BTST    #7,D7
  9583.     MOVE.W    CCR,D4
  9584.     MOVEQ    #$10,D5        ; SET H=1,N=0
  9585.     MOVE.W    (A2)+,D1
  9586.     IF    DEEBUG
  9587.     BRA    DEBUG
  9588.     ELSE
  9589.     JMP    ([A3,D1.W*4])
  9590.     ENDIF
  9591.  
  9592. DDRS0:    CMPI.W    #$4000,D1    ; RES 0 IXD
  9593.     BCS.B    .L1
  9594.     BCLR    #0,(A0,D1.L)
  9595.     MOVE.W    (A2)+,D1
  9596.     IF    DEEBUG
  9597.     BRA    DEBUG
  9598.     ELSE
  9599.     JMP    ([A3,D1.W*4])
  9600.     ENDIF
  9601. .L1
  9602.     CMPI.W    #$3BFF,D1    
  9603.     BHI.B    .L2
  9604.     MOVE.W    (A2)+,D1
  9605.     IF    DEEBUG
  9606.     BRA    DEBUG
  9607.     ELSE
  9608.     JMP    ([A3,D1.W*4])
  9609.     ENDIF
  9610. .L2
  9611.     BCLR    #0,(A0,D1.L)
  9612.     MOVE.B    (A0,D1.L),D6    
  9613.     BSR    _screenwrite
  9614.     MOVE.W    (A2)+,D1
  9615.     IF    DEEBUG
  9616.     BRA    DEBUG
  9617.     ELSE
  9618.     JMP    ([A3,D1.W*4])
  9619.     ENDIF
  9620.  
  9621. DDRS1:    CMPI.W    #$4000,D1    
  9622.     BCS.B    .L1
  9623.     BCLR    #1,(A0,D1.L)
  9624.     MOVE.W    (A2)+,D1
  9625.     IF    DEEBUG
  9626.     BRA    DEBUG
  9627.     ELSE
  9628.     JMP    ([A3,D1.W*4])
  9629.     ENDIF
  9630. .L1
  9631.     CMPI.W    #$3BFF,D1    
  9632.     BHI.B    .L2
  9633.     MOVE.W    (A2)+,D1
  9634.     IF    DEEBUG
  9635.     BRA    DEBUG
  9636.     ELSE
  9637.     JMP    ([A3,D1.W*4])
  9638.     ENDIF
  9639. .L2
  9640.     BCLR    #1,(A0,D1.L)
  9641.     MOVE.B    (A0,D1.L),D6    
  9642.     BSR    _screenwrite
  9643.     MOVE.W    (A2)+,D1
  9644.     IF    DEEBUG
  9645.     BRA    DEBUG
  9646.     ELSE
  9647.     JMP    ([A3,D1.W*4])
  9648.     ENDIF
  9649.  
  9650. DDRS2:    CMPI.W    #$4000,D1    
  9651.     BCS.B    .L1
  9652.     BCLR    #2,(A0,D1.L)
  9653.     MOVE.W    (A2)+,D1
  9654.     IF    DEEBUG
  9655.     BRA    DEBUG
  9656.     ELSE
  9657.     JMP    ([A3,D1.W*4])
  9658.     ENDIF
  9659. .L1
  9660.     CMPI.W    #$3BFF,D1    
  9661.     BHI.B    .L2
  9662.     MOVE.W    (A2)+,D1
  9663.     IF    DEEBUG
  9664.     BRA    DEBUG
  9665.     ELSE
  9666.     JMP    ([A3,D1.W*4])
  9667.     ENDIF
  9668. .L2
  9669.     BCLR    #2,(A0,D1.L)
  9670.     MOVE.B    (A0,D1.L),D6    
  9671.     BSR    _screenwrite
  9672.     MOVE.W    (A2)+,D1
  9673.     IF    DEEBUG
  9674.     BRA    DEBUG
  9675.     ELSE
  9676.     JMP    ([A3,D1.W*4])
  9677.     ENDIF
  9678.  
  9679. DDRS3:    CMPI.W    #$4000,D1    
  9680.     BCS.B    .L1
  9681.     BCLR    #3,(A0,D1.L)
  9682.     MOVE.W    (A2)+,D1
  9683.     IF    DEEBUG
  9684.     BRA    DEBUG
  9685.     ELSE
  9686.     JMP    ([A3,D1.W*4])
  9687.     ENDIF
  9688. .L1
  9689.     CMPI.W    #$3BFF,D1    
  9690.     BHI.B    .L2
  9691.     MOVE.W    (A2)+,D1
  9692.     IF    DEEBUG
  9693.     BRA    DEBUG
  9694.     ELSE
  9695.     JMP    ([A3,D1.W*4])
  9696.     ENDIF
  9697. .L2
  9698.     BCLR    #3,(A0,D1.L)
  9699.     MOVE.B    (A0,D1.L),D6    
  9700.     BSR    _screenwrite
  9701.     MOVE.W    (A2)+,D1
  9702.     IF    DEEBUG
  9703.     BRA    DEBUG
  9704.     ELSE
  9705.     JMP    ([A3,D1.W*4])
  9706.     ENDIF
  9707.  
  9708. DDRS4:    CMPI.W    #$4000,D1    
  9709.     BCS.B    .L1
  9710.     BCLR    #4,(A0,D1.L)
  9711.     MOVE.W    (A2)+,D1
  9712.     IF    DEEBUG
  9713.     BRA    DEBUG
  9714.     ELSE
  9715.     JMP    ([A3,D1.W*4])
  9716.     ENDIF
  9717. .L1
  9718.     CMPI.W    #$3BFF,D1    
  9719.     BHI.B    .L2
  9720.     MOVE.W    (A2)+,D1
  9721.     IF    DEEBUG
  9722.     BRA    DEBUG
  9723.     ELSE
  9724.     JMP    ([A3,D1.W*4])
  9725.     ENDIF
  9726. .L2
  9727.     BCLR    #4,(A0,D1.L)
  9728.     MOVE.B    (A0,D1.L),D6    
  9729.     BSR    _screenwrite
  9730.     MOVE.W    (A2)+,D1
  9731.     IF    DEEBUG
  9732.     BRA    DEBUG
  9733.     ELSE
  9734.     JMP    ([A3,D1.W*4])
  9735.     ENDIF
  9736.  
  9737. DDRS5:    CMPI.W    #$4000,D1    
  9738.     BCS.B    .L1
  9739.     BCLR    #5,(A0,D1.L)
  9740.     MOVE.W    (A2)+,D1
  9741.     IF    DEEBUG
  9742.     BRA    DEBUG
  9743.     ELSE
  9744.     JMP    ([A3,D1.W*4])
  9745.     ENDIF
  9746. .L1
  9747.     CMPI.W    #$3BFF,D1    
  9748.     BHI.B    .L2
  9749.     MOVE.W    (A2)+,D1
  9750.     IF    DEEBUG
  9751.     BRA    DEBUG
  9752.     ELSE
  9753.     JMP    ([A3,D1.W*4])
  9754.     ENDIF
  9755. .L2
  9756.     BCLR    #5,(A0,D1.L)
  9757.     MOVE.B    (A0,D1.L),D6    
  9758.     BSR    _screenwrite
  9759.     MOVE.W    (A2)+,D1
  9760.     IF    DEEBUG
  9761.     BRA    DEBUG
  9762.     ELSE
  9763.     JMP    ([A3,D1.W*4])
  9764.     ENDIF
  9765.  
  9766. DDRS6:    CMPI.W    #$4000,D1    
  9767.     BCS.B    .L1
  9768.     BCLR    #6,(A0,D1.L)
  9769.     MOVE.W    (A2)+,D1
  9770.     IF    DEEBUG
  9771.     BRA    DEBUG
  9772.     ELSE
  9773.     JMP    ([A3,D1.W*4])
  9774.     ENDIF
  9775. .L1
  9776.     CMPI.W    #$3BFF,D1    
  9777.     BHI.B    .L2
  9778.     MOVE.W    (A2)+,D1
  9779.     IF    DEEBUG
  9780.     BRA    DEBUG
  9781.     ELSE
  9782.     JMP    ([A3,D1.W*4])
  9783.     ENDIF
  9784. .L2
  9785.     BCLR    #6,(A0,D1.L)
  9786.     MOVE.B    (A0,D1.L),D6    
  9787.     BSR    _screenwrite
  9788.     MOVE.W    (A2)+,D1
  9789.     IF    DEEBUG
  9790.     BRA    DEBUG
  9791.     ELSE
  9792.     JMP    ([A3,D1.W*4])
  9793.     ENDIF
  9794.  
  9795. DDRS7:    CMPI.W    #$4000,D1    
  9796.     BCS.B    .L1
  9797.     BCLR    #7,(A0,D1.L)
  9798.     MOVE.W    (A2)+,D1
  9799.     IF    DEEBUG
  9800.     BRA    DEBUG
  9801.     ELSE
  9802.     JMP    ([A3,D1.W*4])
  9803.     ENDIF
  9804. .L1
  9805.     CMPI.W    #$3BFF,D1    
  9806.     BHI.B    .L2
  9807.     MOVE.W    (A2)+,D1
  9808.     IF    DEEBUG
  9809.     BRA    DEBUG
  9810.     ELSE
  9811.     JMP    ([A3,D1.W*4])
  9812.     ENDIF
  9813. .L2
  9814.     BCLR    #7,(A0,D1.L)
  9815.     MOVE.B    (A0,D1.L),D6    
  9816.     BSR    _screenwrite
  9817.     MOVE.W    (A2)+,D1
  9818.     IF    DEEBUG
  9819.     BRA    DEBUG
  9820.     ELSE
  9821.     JMP    ([A3,D1.W*4])
  9822.     ENDIF
  9823.  
  9824. DDST0:    CMPI.W    #$4000,D1    ;    SET 0 IXD (D1 HOLDS IX+D)
  9825.     BCS.B    .L1
  9826.     BSET    #0,(A0,D1.L)
  9827.     MOVE.W    (A2)+,D1
  9828.     IF    DEEBUG
  9829.     BRA    DEBUG
  9830.     ELSE
  9831.     JMP    ([A3,D1.W*4])
  9832.     ENDIF
  9833. .L1
  9834.     CMPI.W    #$3BFF,D1    
  9835.     BHI.B    .L2
  9836.     MOVE.W    (A2)+,D1
  9837.     IF    DEEBUG
  9838.     BRA    DEBUG
  9839.     ELSE
  9840.     JMP    ([A3,D1.W*4])
  9841.     ENDIF
  9842. .L2
  9843.     BSET    #0,(A0,D1.L)
  9844.     MOVE.B    (A0,D1.L),D6    
  9845.     BSR    _screenwrite
  9846.     MOVE.W    (A2)+,D1
  9847.     IF    DEEBUG
  9848.     BRA    DEBUG
  9849.     ELSE
  9850.     JMP    ([A3,D1.W*4])
  9851.     ENDIF
  9852.  
  9853. DDST1:    CMPI.W    #$4000,D1    ;    SET 1 IXD
  9854.     BCS.B    .L1
  9855.     BSET    #1,(A0,D1.L)
  9856.     MOVE.W    (A2)+,D1
  9857.     IF    DEEBUG
  9858.     BRA    DEBUG
  9859.     ELSE
  9860.     JMP    ([A3,D1.W*4])
  9861.     ENDIF
  9862. .L1
  9863.     CMPI.W    #$3BFF,D1    
  9864.     BHI.B    .L2
  9865.     MOVE.W    (A2)+,D1
  9866.     IF    DEEBUG
  9867.     BRA    DEBUG
  9868.     ELSE
  9869.     JMP    ([A3,D1.W*4])
  9870.     ENDIF
  9871. .L2
  9872.     BSET    #1,(A0,D1.L)
  9873.     MOVE.B    (A0,D1.L),D6    
  9874.     BSR    _screenwrite
  9875.     MOVE.W    (A2)+,D1
  9876.     IF    DEEBUG
  9877.     BRA    DEBUG
  9878.     ELSE
  9879.     JMP    ([A3,D1.W*4])
  9880.     ENDIF
  9881.  
  9882. DDST2:    CMPI.W    #$4000,D1    ; SET 2 IXD
  9883.     BCS.B    .L1
  9884.     BSET    #2,(A0,D1.L)
  9885.     MOVE.W    (A2)+,D1
  9886.     IF    DEEBUG
  9887.     BRA    DEBUG
  9888.     ELSE
  9889.     JMP    ([A3,D1.W*4])
  9890.     ENDIF
  9891. .L1
  9892.     CMPI.W    #$3BFF,D1    
  9893.     BHI.B    .L2
  9894.     MOVE.W    (A2)+,D1
  9895.     IF    DEEBUG
  9896.     BRA    DEBUG
  9897.     ELSE
  9898.     JMP    ([A3,D1.W*4])
  9899.     ENDIF
  9900. .L2
  9901.     BSET    #2,(A0,D1.L)
  9902.     MOVE.B    (A0,D1.L),D6    
  9903.     BSR    _screenwrite
  9904.     MOVE.W    (A2)+,D1
  9905.     IF    DEEBUG
  9906.     BRA    DEBUG
  9907.     ELSE
  9908.     JMP    ([A3,D1.W*4])
  9909.     ENDIF
  9910.  
  9911. DDST3:    CMPI.W    #$4000,D1    ; SET 3 IXD 
  9912.     BCS.B    .L1
  9913.     BSET    #3,(A0,D1.L)
  9914.     MOVE.W    (A2)+,D1
  9915.     IF    DEEBUG
  9916.     BRA    DEBUG
  9917.     ELSE
  9918.     JMP    ([A3,D1.W*4])
  9919.     ENDIF
  9920. .L1
  9921.     CMPI.W    #$3BFF,D1    
  9922.     BHI.B    .L2
  9923.     MOVE.W    (A2)+,D1
  9924.     IF    DEEBUG
  9925.     BRA    DEBUG
  9926.     ELSE
  9927.     JMP    ([A3,D1.W*4])
  9928.     ENDIF
  9929. .L2
  9930.     BSET    #3,(A0,D1.L)
  9931.     MOVE.B    (A0,D1.L),D6    
  9932.     BSR    _screenwrite
  9933.     MOVE.W    (A2)+,D1
  9934.     IF    DEEBUG
  9935.     BRA    DEBUG
  9936.     ELSE
  9937.     JMP    ([A3,D1.W*4])
  9938.     ENDIF
  9939.  
  9940. DDST4:    CMPI.W    #$4000,D1    
  9941.     BCS.B    .L1
  9942.     BSET    #4,(A0,D1.L)
  9943.     MOVE.W    (A2)+,D1
  9944.     IF    DEEBUG
  9945.     BRA    DEBUG
  9946.     ELSE
  9947.     JMP    ([A3,D1.W*4])
  9948.     ENDIF
  9949. .L1
  9950.     CMPI.W    #$3BFF,D1    
  9951.     BHI.B    .L2
  9952.     MOVE.W    (A2)+,D1
  9953.     IF    DEEBUG
  9954.     BRA    DEBUG
  9955.     ELSE
  9956.     JMP    ([A3,D1.W*4])
  9957.     ENDIF
  9958. .L2
  9959.     BSET    #4,(A0,D1.L)
  9960.     MOVE.B    (A0,D1.L),D6    
  9961.     BSR    _screenwrite
  9962.     MOVE.W    (A2)+,D1
  9963.     IF    DEEBUG
  9964.     BRA    DEBUG
  9965.     ELSE
  9966.     JMP    ([A3,D1.W*4])
  9967.     ENDIF
  9968.  
  9969. DDST5:    CMPI.W    #$4000,D1    
  9970.     BCS.B    .L1
  9971.     BSET    #5,(A0,D1.L)
  9972.     MOVE.W    (A2)+,D1
  9973.     IF    DEEBUG
  9974.     BRA    DEBUG
  9975.     ELSE
  9976.     JMP    ([A3,D1.W*4])
  9977.     ENDIF
  9978. .L1
  9979.     CMPI.W    #$3BFF,D1    
  9980.     BHI.B    .L2
  9981.     MOVE.W    (A2)+,D1
  9982.     IF    DEEBUG
  9983.     BRA    DEBUG
  9984.     ELSE
  9985.     JMP    ([A3,D1.W*4])
  9986.     ENDIF
  9987. .L2
  9988.     BSET    #5,(A0,D1.L)
  9989.     MOVE.B    (A0,D1.L),D6    
  9990.     BSR    _screenwrite
  9991.     MOVE.W    (A2)+,D1
  9992.     IF    DEEBUG
  9993.     BRA    DEBUG
  9994.     ELSE
  9995.     JMP    ([A3,D1.W*4])
  9996.     ENDIF
  9997.  
  9998. DDST6:    CMPI.W    #$4000,D1    
  9999.     BCS.B    .L1
  10000.     BSET    #6,(A0,D1.L)
  10001.     MOVE.W    (A2)+,D1
  10002.     IF    DEEBUG
  10003.     BRA    DEBUG
  10004.     ELSE
  10005.     JMP    ([A3,D1.W*4])
  10006.     ENDIF
  10007. .L1
  10008.     CMPI.W    #$3BFF,D1    
  10009.     BHI.B    .L2
  10010.     MOVE.W    (A2)+,D1
  10011.     IF    DEEBUG
  10012.     BRA    DEBUG
  10013.     ELSE
  10014.     JMP    ([A3,D1.W*4])
  10015.     ENDIF
  10016. .L2
  10017.     BSET    #6,(A0,D1.L)
  10018.     MOVE.B    (A0,D1.L),D6    
  10019.     BSR    _screenwrite
  10020.     MOVE.W    (A2)+,D1
  10021.     IF    DEEBUG
  10022.     BRA    DEBUG
  10023.     ELSE
  10024.     JMP    ([A3,D1.W*4])
  10025.     ENDIF
  10026.  
  10027. DDST7:    CMPI.W    #$4000,D1    
  10028.     BCS.B    .L1
  10029.     BSET    #7,(A0,D1.L)
  10030.     MOVE.W    (A2)+,D1
  10031.     IF    DEEBUG
  10032.     BRA    DEBUG
  10033.     ELSE
  10034.     JMP    ([A3,D1.W*4])
  10035.     ENDIF
  10036. .L1
  10037.     CMPI.W    #$3BFF,D1    
  10038.     BHI.B    .L2
  10039.     MOVE.W    (A2)+,D1
  10040.     IF    DEEBUG
  10041.     BRA    DEBUG
  10042.     ELSE
  10043.     JMP    ([A3,D1.W*4])
  10044.     ENDIF
  10045. .L2
  10046.     BSET    #7,(A0,D1.L)
  10047.     MOVE.B    (A0,D1.L),D6    
  10048.     BSR    _screenwrite
  10049.     MOVE.W    (A2)+,D1
  10050.     IF    DEEBUG
  10051.     BRA    DEBUG
  10052.     ELSE
  10053.     JMP    ([A3,D1.W*4])
  10054.     ENDIF
  10055.  
  10056.  
  10057. MDDE1:                ; POP IX
  10058.     MOVEQ    #0,D7
  10059.     MOVE.W    (A4)+,D7
  10060.     ROL.W    #8,D7
  10061.     MOVE.L    D7,A1
  10062.     ADDA.L    A0,A1
  10063.     MOVE.W    (A2)+,D1
  10064.     IF    DEEBUG
  10065.     BRA    DEBUG
  10066.     ELSE
  10067.     JMP    ([A3,D1.W*4])
  10068.     ENDIF
  10069.  
  10070. MDDE3:                ; EX (SP),IX
  10071.     SUBA.L    A0,A1
  10072.     MOVE.L    A1,D7
  10073.     MOVE.W    (A4),D6
  10074.     ROL.W    #8,D6
  10075.     MOVE.W    D6,A1
  10076.     ADDA.L    A0,A1
  10077.     ROL.W    #8,D7
  10078.     MOVE.W    D7,(A4)
  10079.     MOVE.W    (A2)+,D1
  10080.     IF    DEEBUG
  10081.     BRA    DEBUG
  10082.     ELSE
  10083.     JMP    ([A3,D1.W*4])
  10084.     ENDIF
  10085.  
  10086. MDDE5:                ; PUSH IX
  10087.     MOVE.L    A1,D6
  10088.     SUB.L    A0,D6
  10089.     ROL.W    #8,D6
  10090.     MOVE.W    D6,-(A4)
  10091.     MOVE.W    (A2)+,D1
  10092.     IF    DEEBUG
  10093.     BRA    DEBUG
  10094.     ELSE
  10095.     JMP    ([A3,D1.W*4])
  10096.     ENDIF
  10097.  
  10098. MDDE9:                ; JP (IX)
  10099.     MOVE.L    A1,A2
  10100.     MOVE.W    (A2)+,D1
  10101.     IF    DEEBUG
  10102.     BRA    DEBUG
  10103.     ELSE
  10104.     JMP    ([A3,D1.W*4])
  10105.     ENDIF
  10106.  
  10107. MDDF9:                ; LD SP,IX
  10108.     MOVE.L    A1,A4
  10109.     MOVE.W    (A2)+,D1
  10110.     IF    DEEBUG
  10111.     BRA    DEBUG
  10112.     ELSE
  10113.     JMP    ([A3,D1.W*4])
  10114.     ENDIF
  10115.  
  10116. * ED INSTRUCTIONS
  10117.  
  10118.  
  10119. MED01:    MOVEQ    #0,D7
  10120.     MOVE.W    _CASSPTR,D7
  10121.     MOVE.B    D0,($10000,A0,D7.L)
  10122.     ADDQ.W    #1,D7
  10123.     MOVE.W    D7,_CASSPTR
  10124.     MOVE.W    (A2)+,D1
  10125.     IF    DEEBUG
  10126.     BRA    DEBUG
  10127.     ELSE
  10128.     JMP    ([A3,D1.W*4])
  10129.     ENDIF
  10130.  
  10131. MED02:    MOVEQ    #0,D7
  10132.     MOVE.W    _CASSPTR,D7
  10133.     MOVE.B    ($10000,A0,D7.L),D0
  10134.     ADDQ.W    #1,D7
  10135.     MOVE.W    D7,_CASSPTR
  10136.     MOVE.W    (A2)+,D1
  10137.     IF    DEEBUG
  10138.     BRA    DEBUG
  10139.     ELSE
  10140.     JMP    ([A3,D1.W*4])
  10141.     ENDIF
  10142.  
  10143. MED03:    MOVEQ    #0,D7
  10144.     MOVE.W    D7,_CASSPTR
  10145.     MOVE.W    (A2)+,D1
  10146.     IF    DEEBUG
  10147.     BRA    DEBUG
  10148.     ELSE
  10149.     JMP    ([A3,D1.W*4])
  10150.     ENDIF
  10151.  
  10152.  
  10153. MED40:                ; IN B,(C)    (NOP)
  10154.     MOVE.W    (A2)+,D1
  10155.     IF    DEEBUG
  10156.     BRA    DEBUG
  10157.     ELSE
  10158.     JMP    ([A3,D1.W*4])
  10159.     ENDIF
  10160.  
  10161. MED41:                ; OUT (C),B    (NOP)
  10162.     MOVE.W    (A2)+,D1
  10163.     IF    DEEBUG
  10164.     BRA    DEBUG
  10165.     ELSE
  10166.     JMP    ([A3,D1.W*4])
  10167.     ENDIF
  10168.  
  10169. MED42:                ; SBC HL,BC
  10170.     ORI.B    #4,D4
  10171.     MOVE.W    D4,CCR
  10172.     SUBX.W    D3,D2
  10173.     MOVE.W    CCR,D4
  10174.     MOVEQ    #2,D5
  10175.     MOVE.W    (A2)+,D1
  10176.     IF    DEEBUG
  10177.     BRA    DEBUG
  10178.     ELSE
  10179.     JMP    ([A3,D1.W*4])
  10180.     ENDIF
  10181.  
  10182. MED43:                ; LD (XXXX),BC
  10183.     MOVE.W    (A2)+,D1
  10184.     ROL.W    #8,D1
  10185.     MOVEQ    #0,D7
  10186.     MOVE.W    D1,D7
  10187.     ROL.W    #8,D3
  10188.     MOVE.W    D3,(A0,D7.L)
  10189.     ROL.W    #8,D3
  10190.     MOVE.W    (A2)+,D1
  10191.     IF    DEEBUG
  10192.     BRA    DEBUG
  10193.     ELSE
  10194.     JMP    ([A3,D1.W*4])
  10195.     ENDIF
  10196.  
  10197. MED44:                ; NEG    (NEGATE A)    *******************
  10198.     MOVE.W    D4,CCR
  10199.     NEG.B    D0
  10200.     MOVE.W    CCR,D4
  10201.     MOVEQ    #02,D5        ; H=0,N=1
  10202.     MOVE.W    (A2)+,D1
  10203.     IF    DEEBUG
  10204.     BRA    DEBUG
  10205.     ELSE
  10206.     JMP    ([A3,D1.W*4])
  10207.     ENDIF
  10208.  
  10209. MED45:
  10210.     MOVE.W    (A2)+,D1
  10211.     IF    DEEBUG
  10212.     BRA    DEBUG
  10213.     ELSE
  10214.     JMP    ([A3,D1.W*4])
  10215.     ENDIF
  10216.  
  10217. MED46:
  10218.     MOVE.W    (A2)+,D1
  10219.     IF    DEEBUG
  10220.     BRA    DEBUG
  10221.     ELSE
  10222.     JMP    ([A3,D1.W*4])
  10223.     ENDIF
  10224.  
  10225. MED47:
  10226.     MOVE.W    (A2)+,D1
  10227.     IF    DEEBUG
  10228.     BRA    DEBUG
  10229.     ELSE
  10230.     JMP    ([A3,D1.W*4])
  10231.     ENDIF
  10232.  
  10233. MED48:
  10234.     MOVE.W    (A2)+,D1
  10235.     IF    DEEBUG
  10236.     BRA    DEBUG
  10237.     ELSE
  10238.     JMP    ([A3,D1.W*4])
  10239.     ENDIF
  10240.  
  10241. MED49:
  10242.     MOVE.W    (A2)+,D1
  10243.     IF    DEEBUG
  10244.     BRA    DEBUG
  10245.     ELSE
  10246.     JMP    ([A3,D1.W*4])
  10247.     ENDIF
  10248.  
  10249. MED4A:                ; ADC HL,BC
  10250.     MOVE.W    D4,CCR
  10251.     ADDX.W    D3,D2
  10252.     MOVE.W    CCR,D4
  10253.     MOVEQ    #0,D5
  10254.     MOVE.W    (A2)+,D1
  10255.     IF    DEEBUG
  10256.     BRA    DEBUG
  10257.     ELSE
  10258.     JMP    ([A3,D1.W*4])
  10259.     ENDIF
  10260.  
  10261. MED4B:                ; LD BC,(XXXX)
  10262.     MOVE.W    (A2)+,D1
  10263.     ROL.W    #8,D1
  10264.     MOVEQ    #0,D7
  10265.     MOVE.W    D1,D7
  10266.     MOVE.W    (A0,D7.L),D3
  10267.     ROL.W    #8,D3
  10268.     MOVE.W    (A2)+,D1
  10269.     IF    DEEBUG
  10270.     BRA    DEBUG
  10271.     ELSE
  10272.     JMP    ([A3,D1.W*4])
  10273.     ENDIF
  10274.  
  10275. MED4D:
  10276.     MOVE.W    (A2)+,D1
  10277.     IF    DEEBUG
  10278.     BRA    DEBUG
  10279.     ELSE
  10280.     JMP    ([A3,D1.W*4])
  10281.     ENDIF
  10282.  
  10283. MED4F:                ; LD R,A (NOP)
  10284.     MOVE.W    (A2)+,D1
  10285.     IF    DEEBUG
  10286.     BRA    DEBUG
  10287.     ELSE
  10288.     JMP    ([A3,D1.W*4])
  10289.     ENDIF
  10290.  
  10291. MED50:
  10292.     MOVE.W    (A2)+,D1
  10293.     IF    DEEBUG
  10294.     BRA    DEBUG
  10295.     ELSE
  10296.     JMP    ([A3,D1.W*4])
  10297.     ENDIF
  10298.  
  10299. MED51:
  10300.     MOVE.W    (A2)+,D1
  10301.     IF    DEEBUG
  10302.     BRA    DEBUG
  10303.     ELSE
  10304.     JMP    ([A3,D1.W*4])
  10305.     ENDIF
  10306.  
  10307. MED52:                ; SBC HL,DE
  10308.     ORI.B    #4,D4
  10309.     SWAP    D3
  10310.     MOVE.W    D4,CCR
  10311.     SUBX.W    D3,D2
  10312.     MOVE.W    CCR,D4
  10313.     MOVEQ    #2,D5
  10314.     SWAP    D3
  10315.     MOVE.W    (A2)+,D1
  10316.     IF    DEEBUG
  10317.     BRA    DEBUG
  10318.     ELSE
  10319.     JMP    ([A3,D1.W*4])
  10320.     ENDIF
  10321.  
  10322. MED53:                ; LD (XXXX),DE
  10323.     MOVE.W    (A2)+,D1
  10324.     ROL.W    #8,D1
  10325.     MOVEQ    #0,D7
  10326.     MOVE.W    D1,D7
  10327.     SWAP    D3
  10328.     ROL.W    #8,D3
  10329.     MOVE.W    D3,(A0,D7.L)
  10330.     ROL.W    #8,D3
  10331.     SWAP    D3
  10332.     MOVE.W    (A2)+,D1
  10333.     IF    DEEBUG
  10334.     BRA    DEBUG
  10335.     ELSE
  10336.     JMP    ([A3,D1.W*4])
  10337.     ENDIF
  10338.  
  10339. MED56:
  10340.     MOVE.W    (A2)+,D1
  10341.     IF    DEEBUG
  10342.     BRA    DEBUG
  10343.     ELSE
  10344.     JMP    ([A3,D1.W*4])
  10345.     ENDIF
  10346.  
  10347. MED57:
  10348.     MOVE.W    (A2)+,D1
  10349.     IF    DEEBUG
  10350.     BRA    DEBUG
  10351.     ELSE
  10352.     JMP    ([A3,D1.W*4])
  10353.     ENDIF
  10354.  
  10355. MED58:
  10356.     MOVE.W    (A2)+,D1
  10357.     IF    DEEBUG
  10358.     BRA    DEBUG
  10359.     ELSE
  10360.     JMP    ([A3,D1.W*4])
  10361.     ENDIF
  10362.  
  10363. MED59:
  10364.     MOVE.W    (A2)+,D1
  10365.     IF    DEEBUG
  10366.     BRA    DEBUG
  10367.     ELSE
  10368.     JMP    ([A3,D1.W*4])
  10369.     ENDIF
  10370.  
  10371. MED5A:    SWAP    D3        ; ADC HL,DE
  10372.     MOVE.W    D4,CCR
  10373.     ADDX.W    D3,D2
  10374.     MOVE.W    CCR,D4
  10375.     SWAP    D3
  10376.     MOVE.W    (A2)+,D1
  10377.     IF    DEEBUG
  10378.     BRA    DEBUG
  10379.     ELSE
  10380.     JMP    ([A3,D1.W*4])
  10381.     ENDIF
  10382.  
  10383. MED5B:                ; LD DE,(XXXX)
  10384.     MOVE.W    (A2)+,D1
  10385.     ROL.W    #8,D1
  10386.     MOVEQ    #0,D7
  10387.     MOVE.W    D1,D7
  10388.     SWAP    D3
  10389.     MOVE.W    (A0,D7.L),D3
  10390.     ROL.W    #8,D3
  10391.     SWAP    D3
  10392.     MOVE.W    (A2)+,D1
  10393.     IF    DEEBUG
  10394.     BRA    DEBUG
  10395.     ELSE
  10396.     JMP    ([A3,D1.W*4])
  10397.     ENDIF
  10398.  
  10399. MED5E:
  10400.     MOVE.W    (A2)+,D1
  10401.     IF    DEEBUG
  10402.     BRA    DEBUG
  10403.     ELSE
  10404.     JMP    ([A3,D1.W*4])
  10405.     ENDIF
  10406.  
  10407. MED5F:                ; LD A,R
  10408.  
  10409.     MOVE.B    $BFE801,D0    ; GET RANDOM BYTE FROM SYSTEM TIMER
  10410.     MOVE.W    D4,CCR        ; CONDITION S,Z FLAGS BY AN OR INSTRUCTION
  10411.     OR.B    D0,D0
  10412.     ANDI    #$0F,CCR    ; CLEAR 680X0 X FLG (V,C ARE CLEARED BY THE OR)
  10413.     MOVE.W    CCR,D4
  10414.     MOVEQ.B    #0,D5        ; H=N=0
  10415.     MOVE.W    (A2)+,D1
  10416.     IF    DEEBUG
  10417.     BRA    DEBUG
  10418.     ELSE
  10419.     JMP    ([A3,D1.W*4])
  10420.     ENDIF
  10421.  
  10422. MED60:
  10423.     MOVE.W    (A2)+,D1
  10424.     IF    DEEBUG
  10425.     BRA    DEBUG
  10426.     ELSE
  10427.     JMP    ([A3,D1.W*4])
  10428.     ENDIF
  10429.  
  10430. MED61:
  10431.     MOVE.W    (A2)+,D1
  10432.     IF    DEEBUG
  10433.     BRA    DEBUG
  10434.     ELSE
  10435.     JMP    ([A3,D1.W*4])
  10436.     ENDIF
  10437.  
  10438. MED62:                ; SBC HL,HL
  10439.     ORI.B    #4,D4
  10440.     MOVE.W    D4,CCR
  10441.     SUBX.W    D2,D2
  10442.     MOVE.W    CCR,D4
  10443.     MOVEQ    #2,D5
  10444.     MOVE.W    (A2)+,D1
  10445.     IF    DEEBUG
  10446.     BRA    DEBUG
  10447.     ELSE
  10448.     JMP    ([A3,D1.W*4])
  10449.     ENDIF
  10450.  
  10451. MED67:                ; RRD            ****** NO FLAGS SET ********
  10452.     MOVEQ    #0,D1
  10453.     MOVEQ    #0,D6
  10454.     MOVEQ    #0,D7
  10455.     MOVE.B    D0,D6
  10456.     LSL.B    #4,D6        ; LOW NIBBLE OF D0-> HIGH NIB OF D6
  10457.     MOVE.W    D2,D1        ; HL-> D1
  10458.     MOVE.B    (A0,D1.L),D7    ; GET BYTE AT (HL)
  10459.     ROR.L    #4,D7
  10460.     OR.B    D7,D6        ; D6 NOW HAS BYTE READY FOR SCREENWRITE()
  10461.     ROL.L    #4,D7
  10462.     ANDI.B    #$0F,D7
  10463.     ANDI.B    #$F0,D0
  10464.     OR.B    D7,D0
  10465.  
  10466.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  10467.     BCS.B    .L1
  10468.     MOVE.B    D6,(A0,D1.L)
  10469.     MOVE.W    (A2)+,D1
  10470.     IF    DEEBUG
  10471.     BRA    DEBUG
  10472.     ELSE
  10473.     JMP    ([A3,D1.W*4])
  10474.     ENDIF
  10475. .L1
  10476.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  10477.     BHI.B    .L2
  10478.     MOVE.W    (A2)+,D1
  10479.     IF    DEEBUG
  10480.     BRA    DEBUG
  10481.     ELSE
  10482.     JMP    ([A3,D1.W*4])
  10483.     ENDIF
  10484. .L2
  10485.     MOVE.B    D6,(A0,D1.L)    ; HL is pointing at the screen so update the
  10486.     BSR    _screenwrite    ; screen with D6
  10487.     MOVE.W    (A2)+,D1
  10488.     IF    DEEBUG
  10489.     BRA    DEBUG
  10490.     ELSE
  10491.     JMP    ([A3,D1.W*4])
  10492.     ENDIF
  10493.  
  10494. MED68:
  10495.     MOVE.W    (A2)+,D1
  10496.     IF    DEEBUG
  10497.     BRA    DEBUG
  10498.     ELSE
  10499.     JMP    ([A3,D1.W*4])
  10500.     ENDIF
  10501.  
  10502. MED69:
  10503.     MOVE.W    (A2)+,D1
  10504.     IF    DEEBUG
  10505.     BRA    DEBUG
  10506.     ELSE
  10507.     JMP    ([A3,D1.W*4])
  10508.     ENDIF
  10509.  
  10510. MED6A:                ; ADC HL,HL
  10511.     MOVE.W    D4,CCR
  10512.     ADDX.W    D2,D2
  10513.     MOVE.W    CCR,D4
  10514.     MOVEQ    #0,D5
  10515.     MOVE.W    (A2)+,D1
  10516.     IF    DEEBUG
  10517.     BRA    DEBUG
  10518.     ELSE
  10519.     JMP    ([A3,D1.W*4])
  10520.     ENDIF
  10521.  
  10522. MED6F:                ; RLD            ****** NO FLAGS SET ********
  10523.     MOVEQ    #0,D1
  10524.     MOVEQ    #0,D6
  10525.     MOVEQ    #0,D7
  10526.     MOVE.W    D2,D1        ; HL-> D1
  10527.     MOVE.B    D0,D6
  10528.     ANDI.B    #$0F,D6        ; LOW NIBBLE OF D0 IN D6
  10529.     MOVE.B    (A0,D1.L),D7    ; GET BYTE AT (HL)
  10530.     LSL.W    #4,D7
  10531.     OR.B    D7,D6        ; D6 NOW HAS BYTE READY FOR SCREENWRITE()
  10532.     ANDI.B    #$F0,D0
  10533.     ROL.W    #8,D7        ; HIGH NIBBLE OF (HL) BACK TO LOW NIBBLE OF D7
  10534.     OR.B    D7,D0        ; FINISHED!
  10535.  
  10536.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  10537.     BCS.B    .L1
  10538.     MOVE.B    D6,(A0,D1.L)
  10539.     MOVE.W    (A2)+,D1
  10540.     IF    DEEBUG
  10541.     BRA    DEBUG
  10542.     ELSE
  10543.     JMP    ([A3,D1.W*4])
  10544.     ENDIF
  10545. .L1
  10546.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  10547.     BHI.B    .L2
  10548.     MOVE.W    (A2)+,D1
  10549.     IF    DEEBUG
  10550.     BRA    DEBUG
  10551.     ELSE
  10552.     JMP    ([A3,D1.W*4])
  10553.     ENDIF
  10554. .L2
  10555.     MOVE.B    D6,(A0,D1.L)    ; HL is pointing at the screen so update the
  10556.     BSR    _screenwrite    ; screen with D6
  10557.     MOVE.W    (A2)+,D1
  10558.     IF    DEEBUG
  10559.     BRA    DEBUG
  10560.     ELSE
  10561.     JMP    ([A3,D1.W*4])
  10562.     ENDIF
  10563.  
  10564. MED72:                ; SBC HL,SP
  10565.     MOVE.L    A4,D6
  10566.     SUB.L    A0,D6
  10567.     ORI.B    #4,D4
  10568.     MOVE.W    D4,CCR
  10569.     SUBX.W    D6,D2
  10570.     MOVE.W    CCR,D4
  10571.     MOVEQ    #2,D5
  10572.     MOVE.W    (A2)+,D1
  10573.     IF    DEEBUG
  10574.     BRA    DEBUG
  10575.     ELSE
  10576.     JMP    ([A3,D1.W*4])
  10577.     ENDIF
  10578.  
  10579. MED73:                ; LD (XXXX),SP
  10580.     MOVE.W    (A2)+,D1
  10581.     ROL.W    #8,D1
  10582.     MOVEQ    #0,D7
  10583.     MOVE.W    D1,D7
  10584.     MOVE.L    A4,D6
  10585.     SUB.L    A0,D6
  10586.     ROL.W    #8,D6
  10587.     MOVE.W    D6,(A0,D7.L)
  10588.     MOVE.W    (A2)+,D1
  10589.     IF    DEEBUG
  10590.     BRA    DEBUG
  10591.     ELSE
  10592.     JMP    ([A3,D1.W*4])
  10593.     ENDIF
  10594.  
  10595. MED78:
  10596.     MOVE.W    (A2)+,D1
  10597.     IF    DEEBUG
  10598.     BRA    DEBUG
  10599.     ELSE
  10600.     JMP    ([A3,D1.W*4])
  10601.     ENDIF
  10602.  
  10603. MED79:
  10604.     MOVE.W    (A2)+,D1
  10605.     IF    DEEBUG
  10606.     BRA    DEBUG
  10607.     ELSE
  10608.     JMP    ([A3,D1.W*4])
  10609.     ENDIF
  10610.  
  10611. MED7A:                ; ADC HL,SP
  10612.     MOVE.L    A4,D6
  10613.     SUB.L    A0,D6
  10614.     MOVE.W    D4,CCR
  10615.     ADDX.W    D6,D2
  10616.     MOVE.W    CCR,D4
  10617.     MOVEQ    #0,D5
  10618.     MOVE.W    (A2)+,D1
  10619.     IF    DEEBUG
  10620.     BRA    DEBUG
  10621.     ELSE
  10622.     JMP    ([A3,D1.W*4])
  10623.     ENDIF
  10624.  
  10625. MED7B:                ; LD SP,(XXXX)
  10626.     MOVE.W    (A2)+,D1
  10627.     ROL.W    #8,D1
  10628.     MOVEQ    #0,D7
  10629.     MOVE.W    D1,D7
  10630.     MOVE.W    (A0,D7.L),D7
  10631.     ROL.W    #8,D7
  10632.     MOVE.L    A0,A4
  10633.     ADDA.L    D7,A4
  10634.     MOVE.W    (A2)+,D1
  10635.     IF    DEEBUG
  10636.     BRA    DEBUG
  10637.     ELSE
  10638.     JMP    ([A3,D1.W*4])
  10639.     ENDIF
  10640.  
  10641. MEDA0:                ; LDI
  10642.     ORI.B    #$02,D4        ; V=1
  10643.     SWAP    D3
  10644.     MOVEQ    #0,D7
  10645.     MOVE.W    D3,D7
  10646. .HERE:    CMPI.W    #$4000,D3    ; if BC >= 4000 do the instruction
  10647.     BCS.B    .L1
  10648. .L3    MOVE.B    (A0,D2.L),(A0,D7.L)
  10649. .L2    ADDQ.W    #1,D2
  10650.     ADDQ.W    #1,D3
  10651.     SWAP    D3
  10652.     SUBQ.W    #1,D3
  10653.     BNE.S    .L4
  10654.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10655. .L4    MOVEQ    #$0,D5        ; SET H,N=0
  10656.     MOVE.W    (A2)+,D1
  10657.     IF    DEEBUG
  10658.     BRA    DEBUG
  10659.     ELSE
  10660.     JMP    ([A3,D1.W*4])
  10661.     ENDIF
  10662. .L1
  10663.     CMPI.W    #$3C00,D3    ; if BC < 3C00 we are in ROM so do nothing
  10664.     BCS.B    .L2
  10665.     MOVE.W    D3,D1
  10666.     MOVE.B    (A0,D2.L),D6    ; BC is pointing at the screen so update the
  10667.     BSR    _screenwrite    ; screen with A
  10668.     BRA.B    .L3
  10669.  
  10670. MEDA1:                ; CPI
  10671.     MOVE.B    D4,D7
  10672.     ANDI.B    #$11,D7        ; SAVE X,C
  10673.     MOVE.B    D0,D6
  10674.     MOVEQ    #0,D1
  10675.     MOVE.W    D2,D1
  10676.     SUB.B    (A0,D1.L),D6    ; DO 
  10677.     MOVE.W    CCR,D4
  10678.     ANDI.B    #$0E,D4        ; X,C=0
  10679.     ORI.B    #$02,D4        ; V=1
  10680.     OR.B    D7,D4        ; RESTORE OLD X,C
  10681.     ADDQ.W    #1,D2
  10682.     SUBQ.W    #1,D3
  10683.     BNE.S    .L4
  10684.     ANDI.B    #$1D,D7        ; V FLG = 0 IF BC=0
  10685. .L4    MOVEQ    #$2,D5        ; SET N=1
  10686.     MOVE.W    (A2)+,D1
  10687.     IF    DEEBUG
  10688.     BRA    DEBUG
  10689.     ELSE
  10690.     JMP    ([A3,D1.W*4])
  10691.     ENDIF
  10692.  
  10693. MEDA2:
  10694.     MOVE.W    (A2)+,D1
  10695.     IF    DEEBUG
  10696.     BRA    DEBUG
  10697.     ELSE
  10698.     JMP    ([A3,D1.W*4])
  10699.     ENDIF
  10700.  
  10701. MEDA3:
  10702.     MOVE.W    (A2)+,D1
  10703.     IF    DEEBUG
  10704.     BRA    DEBUG
  10705.     ELSE
  10706.     JMP    ([A3,D1.W*4])
  10707.     ENDIF
  10708.  
  10709. MEDA8:                ; LDD
  10710.     ORI.B    #$02,D4        ; V=1
  10711.     SWAP    D3
  10712.     MOVEQ    #0,D7
  10713.     MOVE.W    D3,D7
  10714. .HERE:    CMPI.W    #$4000,D3    ; if DE >= 4000 do the instruction
  10715.     BCS.B    .L1
  10716. .L3    MOVE.B    (A0,D2.L),(A0,D7.L)
  10717. .L2    SUBQ.W    #1,D2
  10718.     SUBQ.W    #1,D3
  10719.     SWAP    D3
  10720.     SUBQ.W    #1,D3        ; DEC BC
  10721.     BNE.S    .L4
  10722.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10723. .L4    MOVEQ    #$0,D5        ; SET H,N=0
  10724.     MOVE.W    (A2)+,D1
  10725.     IF    DEEBUG
  10726.     BRA    DEBUG
  10727.     ELSE
  10728.     JMP    ([A3,D1.W*4])
  10729.     ENDIF
  10730. .L1
  10731.     CMPI.W    #$3C00,D3    ; if DE < 3C00 we are in ROM so do nothing
  10732.     BCS.B    .L2
  10733.     MOVE.W    D3,D1
  10734.     MOVE.B    (A0,D2.L),D6    ; BC is pointing at the screen so update the
  10735.     BSR    _screenwrite    ; screen with A
  10736.     BRA.B    .L3
  10737.  
  10738. MEDA9:                ; CPD
  10739.     MOVE.B    D4,D7
  10740.     ANDI.B    #$11,D7        ; SAVE X,C
  10741.     MOVE.B    D0,D6
  10742.     MOVEQ    #0,D1
  10743.     MOVE.W    D2,D1
  10744.     SUB.B    (A0,D1.L),D6    ; DO 
  10745.     MOVE.W    CCR,D4
  10746.     ANDI.B    #$0E,D4        ; X,C=0
  10747.     ORI.B    #$02,D4        ; V=1
  10748.     OR.B    D7,D4        ; RESTORE OLD X,C
  10749.     SUBQ.W    #1,D2
  10750.     SUBQ.W    #1,D3
  10751.     BNE.S    .L4
  10752.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10753. .L4    MOVEQ    #$2,D5        ; SET N=1
  10754.     MOVE.W    (A2)+,D1
  10755.     IF    DEEBUG
  10756.     BRA    DEBUG
  10757.     ELSE
  10758.     JMP    ([A3,D1.W*4])
  10759.     ENDIF
  10760.  
  10761. MEDAA:
  10762.     MOVE.W    (A2)+,D1
  10763.     IF    DEEBUG
  10764.     BRA    DEBUG
  10765.     ELSE
  10766.     JMP    ([A3,D1.W*4])
  10767.     ENDIF
  10768.  
  10769. MEDAB:
  10770.     MOVE.W    (A2)+,D1
  10771.     IF    DEEBUG
  10772.     BRA    DEBUG
  10773.     ELSE
  10774.     JMP    ([A3,D1.W*4])
  10775.     ENDIF
  10776.  
  10777. MEDB0:                ; LDIR
  10778.     MOVE.L    D3,D7
  10779.     MOVEQ    #0,D1
  10780.     SWAP    D7
  10781.     MOVE.W    D7,D1
  10782.     ANDI.W    #$FFFF,D2
  10783.     SUBQ.W    #1,D3
  10784. .HERE:    CMPI.W    #$4000,D1    ; if BC >= 4000 do the instruction
  10785.     BCS.B    .L1
  10786. .L3    MOVE.B    (A0,D2.L),(A0,D1.L)
  10787. .L2    ADDQ.W    #1,D2
  10788.     ADDQ.W    #1,D1
  10789.     DBRA    D3,.HERE
  10790.     MOVEQ.W    #0,D3
  10791.     SWAP    D3
  10792.     MOVE.W    D1,D3
  10793.     SWAP    D3
  10794.     MOVEQ.L    #0,D5        ; CLEAR H,N FLAGS
  10795.     ANDI.B    #$1D,D4        ; CLEAR V FLAG
  10796.     MOVE.W    (A2)+,D1
  10797.     IF    DEEBUG
  10798.     BRA    DEBUG
  10799.     ELSE
  10800.     JMP    ([A3,D1.W*4])
  10801.     ENDIF
  10802. .L1
  10803.     CMPI.W    #$3C00,D1    ; if BC < 3C00 we are in ROM so do nothing
  10804.     BCS.B    .L2
  10805.     MOVE.B    (A0,D2.L),D6    ; BC is pointing at the screen so update the
  10806.     BSR    _screenwrite    ; screen with A
  10807.     BRA.B    .L3
  10808.  
  10809. MEDB1:                ; CPIR
  10810.     MOVE.B    D4,D7
  10811.     ANDI.B    #$11,D7        ; SAVE X,C
  10812.     MOVEQ    #0,D1
  10813. .L3    MOVE.B    D0,D6
  10814.     MOVE.W    D2,D1
  10815.     SUB.B    (A0,D1.L),D6    ; DO 
  10816.     MOVE.W    CCR,D4
  10817.     BEQ.B    .L1
  10818.     ANDI.B    #$0C,D4        ; X,C,V=0
  10819.     OR.B    D7,D4        ; RESTORE OLD X,C
  10820.     ADDQ.W    #1,D2
  10821.     SUBQ.W    #1,D3
  10822.     BNE.B    .L3
  10823.     ANDI.B    #$1D,D4        ; V FLG = 0 SINCE BC=0
  10824.     MOVEQ    #$2,D5        ; SET N=1
  10825.     MOVE.W    (A2)+,D1
  10826.     IF    DEEBUG
  10827.     BRA    DEBUG
  10828.     ELSE
  10829.     JMP    ([A3,D1.W*4])
  10830.     ENDIF
  10831.  
  10832. .L1
  10833.     ANDI.B    #$0E,D4        ; X,C=0
  10834.     ORI.B    #$02,D4        ; V=1
  10835.     OR.B    D7,D4        ; RESTORE OLD X,C
  10836.     ADDQ.W    #1,D2
  10837.     SUBQ.W    #1,D3
  10838.     BNE.S    .L4
  10839.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10840. .L4    MOVEQ    #$2,D5        ; SET SUB FLG
  10841.     MOVE.W    (A2)+,D1
  10842.     IF    DEEBUG
  10843.     BRA    DEBUG
  10844.     ELSE
  10845.     JMP    ([A3,D1.W*4])
  10846.     ENDIF
  10847.  
  10848. MEDB2:
  10849.     MOVE.W    (A2)+,D1
  10850.     IF    DEEBUG
  10851.     BRA    DEBUG
  10852.     ELSE
  10853.     JMP    ([A3,D1.W*4])
  10854.     ENDIF
  10855.  
  10856. MEDB3:
  10857.     MOVE.W    (A2)+,D1
  10858.     IF    DEEBUG
  10859.     BRA    DEBUG
  10860.     ELSE
  10861.     JMP    ([A3,D1.W*4])
  10862.     ENDIF
  10863.  
  10864. MEDB8:                ; LDDR
  10865.     MOVE.L    D3,D7
  10866.     MOVEQ    #0,D1
  10867.     SWAP    D7
  10868.     MOVE.W    D7,D1
  10869.     ANDI.W    #$FFFF,D2
  10870.     SUBQ.W    #1,D3
  10871. .HERE:    CMPI.W    #$4000,D1    ; if BC >= 4000 do the instruction
  10872.     BCS.B    .L1
  10873. .L3    MOVE.B    (A0,D2.L),(A0,D1.L)
  10874. .L2    SUBQ.W    #1,D2
  10875.     SUBQ.W    #1,D1
  10876.     DBRA    D3,.HERE
  10877.     MOVEQ.W    #0,D3
  10878.     SWAP    D3
  10879.     MOVE.W    D1,D3
  10880.     SWAP    D3
  10881.     MOVEQ.L    #0,D5        ; CLEAR H,N FLAGS
  10882.     ANDI.B    #$1D,D4        ; CLEAR V FLAG
  10883.     MOVE.W    (A2)+,D1
  10884.     IF    DEEBUG
  10885.     BRA    DEBUG
  10886.     ELSE
  10887.     JMP    ([A3,D1.W*4])
  10888.     ENDIF
  10889. .L1
  10890.     CMPI.W    #$3C00,D1    ; if BC <= 3C00 we are in ROM so do nothing
  10891.     BCS.B    .L2
  10892.     MOVE.B    (A0,D2.L),D6    ; BC is pointing at the screen so update the
  10893.     BSR    _screenwrite    ; screen with A
  10894.     BRA.B    .L3
  10895.  
  10896. MEDB9:                ; CPDR
  10897.     MOVE.B    D4,D7
  10898.     ANDI.B    #$11,D7        ; SAVE X,C
  10899.     MOVEQ    #0,D1
  10900. .L3    MOVE.B    D0,D6
  10901.     MOVE.W    D2,D1
  10902.     SUB.B    (A0,D1.L),D6    ; DO 
  10903.     MOVE.W    CCR,D4
  10904.     BEQ.B    .L1
  10905.     ANDI.B    #$0C,D4        ; X,C,V=0
  10906.     OR.B    D7,D4        ; RESTORE OLD X,C
  10907.     SUBQ.W    #1,D2
  10908.     SUBQ.W    #1,D3
  10909.     BNE.B    .L3
  10910.     ANDI.B    #$1D,D4        ; V FLG = 0 SINCE BC=0
  10911.     MOVEQ    #$2,D5        ; SET N=1
  10912.     MOVE.W    (A2)+,D1
  10913.     IF    DEEBUG
  10914.     BRA    DEBUG
  10915.     ELSE
  10916.     JMP    ([A3,D1.W*4])
  10917.     ENDIF
  10918.  
  10919. .L1
  10920.     ANDI.B    #$0E,D4        ; X,C=0
  10921.     ORI.B    #$02,D4        ; V=1
  10922.     OR.B    D7,D4        ; RESTORE OLD X,C
  10923.     SUBQ.W    #1,D2
  10924.     SUBQ.W    #1,D3
  10925.     BNE.S    .L4
  10926.     ANDI.B    #$1D,D4        ; V FLG = 0 IF BC=0
  10927. .L4    MOVEQ    #$2,D5        ; SET SUB FLG
  10928.     MOVE.W    (A2)+,D1
  10929.     IF    DEEBUG
  10930.     BRA    DEBUG
  10931.     ELSE
  10932.     JMP    ([A3,D1.W*4])
  10933.     ENDIF
  10934.  
  10935. MEDBA:
  10936.     MOVE.W    (A2)+,D1
  10937.     IF    DEEBUG
  10938.     BRA    DEBUG
  10939.     ELSE
  10940.     JMP    ([A3,D1.W*4])
  10941.     ENDIF
  10942.  
  10943. MEDBB:
  10944.     MOVE.W    (A2)+,D1
  10945.     IF    DEEBUG
  10946.     BRA    DEBUG
  10947.     ELSE
  10948.     JMP    ([A3,D1.W*4])
  10949.     ENDIF
  10950.  
  10951. * FD INSTRUCTIONS
  10952.  
  10953.  
  10954. MFD09:                ; ADD IY,BC
  10955.     SUBA.L    A0,A5
  10956.     MOVE.L    A5,D7
  10957.     ADD.W    D3,D7
  10958.     SCS.W    D6
  10959.     ANDI.W    #$EE,D4        ; CLEAR X,C
  10960.     ANDI.W    #$11,D6
  10961.     OR.B    D6,D4        ; SET X,C IF CARRY
  10962.     MOVEQ    #0,D5        ; SET H,N=0
  10963.     MOVE.L    A0,A5
  10964.     ADDA.L    D7,A5
  10965.     MOVE.W    (A2)+,D1
  10966.     IF    DEEBUG
  10967.     BRA    DEBUG
  10968.     ELSE
  10969.     JMP    ([A3,D1.W*4])
  10970.     ENDIF
  10971.  
  10972. MFD19:                ; ADD IY,DE
  10973.     SUBA.L    A0,A5
  10974.     MOVE.L    A5,D7
  10975.     SWAP    D3
  10976.     ADD.W    D3,D7
  10977.     SCS.W    D6
  10978.     ANDI.W    #$EE,D4        ; CLEAR X,C
  10979.     ANDI.W    #$11,D6
  10980.     OR.B    D6,D4        ; SET X,C IF CARRY
  10981.     MOVEQ    #0,D5        ; SET H,N=0
  10982.     SWAP    D3
  10983.     MOVE.L    A0,A5
  10984.     ADDA.L    D7,A5
  10985.     MOVE.W    (A2)+,D1
  10986.     IF    DEEBUG
  10987.     BRA    DEBUG
  10988.     ELSE
  10989.     JMP    ([A3,D1.W*4])
  10990.     ENDIF
  10991.  
  10992.  
  10993. MFD21:                ; LD IY,XXXX
  10994.     MOVE.W    (A2)+,D1
  10995.     ROL.W    #8,D1
  10996.     MOVEQ    #0,D7
  10997.     MOVE.W    D1,D7
  10998.     MOVE.L    A0,A5
  10999.     ADDA.L    D7,A5
  11000.     MOVE.W    (A2)+,D1
  11001.     IF    DEEBUG
  11002.     BRA    DEBUG
  11003.     ELSE
  11004.     JMP    ([A3,D1.W*4])
  11005.     ENDIF
  11006.  
  11007. MFD22:                ; LD (XXXX),IY
  11008.     MOVE.W    (A2)+,D1
  11009.     ROL.W    #8,D1
  11010.     MOVEQ    #0,D7
  11011.     MOVE.W    D1,D7
  11012.     SUBA.L    A0,A5
  11013.     MOVE.L    A5,D6
  11014.     ROL.W    #8,D6
  11015.     MOVE.W    D6,(A0,D7.L)
  11016.     ADDA.L    A0,A5
  11017.     MOVE.W    (A2)+,D1
  11018.     IF    DEEBUG
  11019.     BRA    DEBUG
  11020.     ELSE
  11021.     JMP    ([A3,D1.W*4])
  11022.     ENDIF
  11023.  
  11024. MFD23:                ; INC IY
  11025.     SUBA.L    A0,A5
  11026.     MOVE.L    A5,D7
  11027.     ADDQ.W    #1,D7
  11028.     MOVE.L    A0,A5
  11029.     ADDA.L    D7,A5
  11030.     MOVE.W    (A2)+,D1
  11031.     IF    DEEBUG
  11032.     BRA    DEBUG
  11033.     ELSE
  11034.     JMP    ([A3,D1.W*4])
  11035.     ENDIF
  11036.  
  11037. MFD29:                ; ADD IY,IY
  11038.     SUBA.L    A0,A5
  11039.     MOVE.L    A5,D7
  11040.     ADD.W    D7,D7
  11041.     SCS.W    D6
  11042.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11043.     ANDI.W    #$11,D6
  11044.     OR.B    D6,D4        ; SET X,C IF CARRY
  11045.     MOVEQ    #0,D5        ; SET H,N=0
  11046.     MOVE.L    A0,A5
  11047.     ADDA.L    D7,A5
  11048.     MOVE.W    (A2)+,D1
  11049.     IF    DEEBUG
  11050.     BRA    DEBUG
  11051.     ELSE
  11052.     JMP    ([A3,D1.W*4])
  11053.     ENDIF
  11054.  
  11055. MFD2A:                ; LD IY,(XXXX)
  11056.     MOVE.W    (A2)+,D1
  11057.     ROL.W    #8,D1
  11058.     MOVEQ    #0,D7
  11059.     MOVE.W    D1,D7
  11060.     MOVE.W    (A0,D7.L),D7
  11061.     ROL.W    #8,D7
  11062.     MOVE.L    A0,A5
  11063.     ADDA.L    D7,A5
  11064.     MOVE.W    (A2)+,D1
  11065.     IF    DEEBUG
  11066.     BRA    DEBUG
  11067.     ELSE
  11068.     JMP    ([A3,D1.W*4])
  11069.     ENDIF
  11070.  
  11071. MFD2B:                ; DEC IY
  11072.     SUBA.L    A0,A5
  11073.     MOVE.L    A5,D7
  11074.     SUBQ.W    #1,D7
  11075.     MOVE.L    A0,A5
  11076.     ADDA.L    D7,A5
  11077.     MOVE.W    (A2)+,D1
  11078.     IF    DEEBUG
  11079.     BRA    DEBUG
  11080.     ELSE
  11081.     JMP    ([A3,D1.W*4])
  11082.     ENDIF
  11083.  
  11084. MFD34:                ; INC (IY+D)
  11085.     MOVE.W    D4,-(SP)    ; SAVE X,C AS NOT AFFECTED
  11086.     SUBA.L    A0,A5
  11087.     MOVE.L    A5,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  11088.     MOVE.B    (A2)+,D7
  11089.     EXT.W    D7
  11090.     ADD.W    D7,D1
  11091.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11092.     BCS.B    .L1
  11093.     ADDA.L    A0,A5
  11094.     MOVE.B    (A5,D7.L),D6
  11095.     MOVE.W    D4,CCR
  11096.     ADDQ.B    #1,D6
  11097.     MOVE.W    CCR,D4
  11098.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11099.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11100.     ANDI.W    #$11,D1
  11101.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11102.     MOVE.B    D6,(A5,D7.L)
  11103.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO ADD TABLE
  11104.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11105.     MOVE.W    (A2)+,D1
  11106.     IF    DEEBUG
  11107.     BRA    DEBUG
  11108.     ELSE
  11109.     JMP    ([A3,D1.W*4])
  11110.     ENDIF
  11111. .L1
  11112.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  11113.     BHI.B    .L2
  11114.     ADDA.L    A0,A5
  11115.     MOVE.B    (A5,D7.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  11116.     MOVE.W    D4,CCR        ; ANY MEMORY
  11117.     ADDQ.B    #1,D6
  11118.     MOVE.W    CCR,D4
  11119.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11120.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11121.     ANDI.W    #$11,D1
  11122.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11123.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  11124.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11125.     MOVE.W    (A2)+,D1
  11126.     IF    DEEBUG
  11127.     BRA    DEBUG
  11128.     ELSE
  11129.     JMP    ([A3,D1.W*4])
  11130.     ENDIF
  11131. .L2
  11132.     ADDA.L    A0,A5
  11133.     MOVE.B    (A5,D7.L),D6
  11134.     MOVE.W    D4,CCR
  11135.     ADDQ.B    #1,D6
  11136.     MOVE.W    CCR,D4
  11137.     MOVE.B    D6,(A5,D7.L)
  11138.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO ADD TABLE
  11139.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11140.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  11141.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11142.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11143.     ANDI.W    #$11,D1
  11144.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11145.     MOVE.W    (A2)+,D1
  11146.     IF    DEEBUG
  11147.     BRA    DEBUG
  11148.     ELSE
  11149.     JMP    ([A3,D1.W*4])
  11150.     ENDIF
  11151.  
  11152. MFD35:                ; DEC (IY+D)
  11153.     MOVE.W    D4,-(SP)    ; SAVE X,C AS NOT AFFECTED
  11154.     SUBA.L    A0,A5
  11155.     MOVE.L    A5,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  11156.     MOVE.B    (A2)+,D7
  11157.     EXT.W    D7
  11158.     ADD.W    D7,D1
  11159.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11160.     BCS.B    .L1
  11161.     ADDA.L    A0,A5
  11162.     MOVE.B    (A5,D7.L),D6
  11163.     MOVE.W    D4,CCR
  11164.     SUBQ.B    #1,D6
  11165.     MOVE.W    CCR,D4
  11166.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11167.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11168.     ANDI.W    #$11,D1
  11169.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11170.     MOVE.B    D6,(A5,D7.L)
  11171.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  11172.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11173.     MOVE.W    (A2)+,D1
  11174.     IF    DEEBUG
  11175.     BRA    DEBUG
  11176.     ELSE
  11177.     JMP    ([A3,D1.W*4])
  11178.     ENDIF
  11179. .L1
  11180.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  11181.     BHI.B    .L2
  11182.     ADDA.L    A0,A5
  11183.     MOVE.B    (A5,D7.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER
  11184.     MOVE.W    D4,CCR        ; ANY MEMORY
  11185.     SUBQ.B    #1,D6
  11186.     MOVE.W    CCR,D4
  11187.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11188.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11189.     ANDI.W    #$11,D1
  11190.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11191.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  11192.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11193.     MOVE.W    (A2)+,D1
  11194.     IF    DEEBUG
  11195.     BRA    DEBUG
  11196.     ELSE
  11197.     JMP    ([A3,D1.W*4])
  11198.     ENDIF
  11199. .L2
  11200.     ADDA.L    A0,A5
  11201.     MOVE.B    (A5,D7.L),D6
  11202.     MOVE.W    D4,CCR
  11203.     SUBQ.B    #1,D6
  11204.     MOVE.W    CCR,D4
  11205.     MOVE.B    D6,(A5,D7.L)
  11206.     ANDI.W    #$00FF,D6    ; EXT D7 FOR INDEX INTO SUB TABLE
  11207.     MOVE.B    $220(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11208.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  11209.     MOVE.W    (SP)+,D1    ; GET OLD FLAGS
  11210.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11211.     ANDI.W    #$11,D1
  11212.     OR.B    D1,D4        ; SET X,C IF PREVIUOSLY SET
  11213.     MOVE.W    (A2)+,D1
  11214.     IF    DEEBUG
  11215.     BRA    DEBUG
  11216.     ELSE
  11217.     JMP    ([A3,D1.W*4])
  11218.     ENDIF
  11219.  
  11220. MFD36:                ; LD (IY+D),N
  11221.     SUBA.L    A0,A5
  11222.     MOVE.L    A5,D1        ; CONVENIENTLY MASK D1.L WITH 0000FFFF
  11223.     MOVE.B    (A2)+,D7
  11224.     EXT.W    D7
  11225.     ADD.W    D7,D1
  11226.     CMPI.W    #$4000,D1    ; if (IX+D) >= 4000 do the instruction
  11227.     BCS.B    .L1
  11228.     MOVE.B    (A2)+,D1
  11229.     ADDA.L    A0,A5
  11230.     MOVE.B    D1,(A5,D7.W)
  11231.     MOVE.W    (A2)+,D1
  11232.     IF    DEEBUG
  11233.     BRA    DEBUG
  11234.     ELSE
  11235.     JMP    ([A3,D1.W*4])
  11236.     ENDIF
  11237.  
  11238. .L1
  11239.     CMPI.W    #$3BFF,D1    ; if (IY+D) < 3C00 we are in ROM so do nothing
  11240.     BHI.B    .L2
  11241.     ADDA.L    A0,A5
  11242.     ADDQ.L    #1,A2        ; will catch (IY+d)>FFFF aswell 
  11243.     MOVE.W    (A2)+,D1
  11244.     IF    DEEBUG
  11245.     BRA    DEBUG
  11246.     ELSE
  11247.     JMP    ([A3,D1.W*4])
  11248.     ENDIF
  11249. .L2
  11250.     MOVE.B    (A2)+,D6
  11251.     ADDA.L    A0,A5
  11252.     MOVE.B    D6,(A5,D7.W)    ; (IY+D) is pointing at the screen so update the
  11253.     BSR    _screenwrite    ; screen with N
  11254.     MOVE.W    (A2)+,D1
  11255.     IF    DEEBUG
  11256.     BRA    DEBUG
  11257.     ELSE
  11258.     JMP    ([A3,D1.W*4])
  11259.     ENDIF
  11260.  
  11261. MFD39:                ; ADD IY,SP
  11262.     SUBA.L    A0,A4
  11263.     MOVE.L    A4,D7
  11264.     SUBA.L    A0,A5
  11265.     MOVE.L    A5,D6
  11266.     ADD.W    D7,D6
  11267.     SCS.B    D7
  11268.     ANDI.W    #$EE,D4        ; CLEAR X,C
  11269.     ANDI.W    #$11,D7
  11270.     OR.B    D7,D4        ; SET X,C IF CARRY
  11271.     MOVEQ    #0,D5        ; SET H,N=0
  11272.     ADDA.L    A0,A4
  11273.     MOVE.L    D6,A5
  11274.     ADDA.L    A0,A5
  11275.     MOVE.W    (A2)+,D1
  11276.     IF    DEEBUG
  11277.     BRA    DEBUG
  11278.     ELSE
  11279.     JMP    ([A3,D1.W*4])
  11280.     ENDIF
  11281.  
  11282. MFD46:                ; LD B,(IY+D)
  11283.     MOVE.B    (A2)+,D1
  11284.     EXT.W    D1
  11285.     ROL.W    #8,D3
  11286.     MOVE.B    (A5,D1.W),D3
  11287.     ROL.W    #8,D3
  11288.     MOVE.W    (A2)+,D1
  11289.     IF    DEEBUG
  11290.     BRA    DEBUG
  11291.     ELSE
  11292.     JMP    ([A3,D1.W*4])
  11293.     ENDIF
  11294.  
  11295. MFD4E:                ; LD C,(IY+D)
  11296.     MOVE.B    (A2)+,D1
  11297.     EXT.W    D1
  11298.     MOVE.B    (A5,D1.W),D3
  11299.     MOVE.W    (A2)+,D1
  11300.     IF    DEEBUG
  11301.     BRA    DEBUG
  11302.     ELSE
  11303.     JMP    ([A3,D1.W*4])
  11304.     ENDIF
  11305.  
  11306. MFD56:                ; LD D,(IY+D)
  11307.     MOVE.B    (A2)+,D1
  11308.     EXT.W    D1
  11309.     ROL.L    #8,D3
  11310.     MOVE.B    (A5,D1.W),D3
  11311.     ROR.L    #8,D3
  11312.     MOVE.W    (A2)+,D1
  11313.     IF    DEEBUG
  11314.     BRA    DEBUG
  11315.     ELSE
  11316.     JMP    ([A3,D1.W*4])
  11317.     ENDIF
  11318.  
  11319. MFD5E:                ; LD E,(IY+D)
  11320.     MOVE.B    (A2)+,D1
  11321.     EXT.W    D1
  11322.     SWAP    D3
  11323.     MOVE.B    (A5,D1.W),D0
  11324.     SWAP    D3
  11325.     MOVE.W    (A2)+,D1
  11326.     IF    DEEBUG
  11327.     BRA    DEBUG
  11328.     ELSE
  11329.     JMP    ([A3,D1.W*4])
  11330.     ENDIF
  11331.  
  11332. MFD66:                ; LD H,(IY+D)
  11333.     MOVE.B    (A2)+,D1
  11334.     EXT.W    D1
  11335.     ROL.W    #8,D2
  11336.     MOVE.B    (A5,D1.W),D2
  11337.     ROL.W    #8,D2
  11338.     MOVE.W    (A2)+,D1
  11339.     IF    DEEBUG
  11340.     BRA    DEBUG
  11341.     ELSE
  11342.     JMP    ([A3,D1.W*4])
  11343.     ENDIF
  11344.  
  11345. MFD6E:                ; LD L,(IY+D)
  11346.     MOVE.B    (A2)+,D1
  11347.     EXT.W    D1
  11348.     MOVE.B    (A5,D1.W),D2
  11349.     MOVE.W    (A2)+,D1
  11350.     IF    DEEBUG
  11351.     BRA    DEBUG
  11352.     ELSE
  11353.     JMP    ([A3,D1.W*4])
  11354.     ENDIF
  11355.  
  11356. MFD70:                ; LD (IY+D),B
  11357.     SUBA.L    A0,A5
  11358.     MOVE.L    A5,D1        
  11359.     MOVE.B    (A2)+,D7
  11360.     EXT.W    D7
  11361.     ADD.W    D7,D1
  11362.     CMPI.W    #$4000,D1    
  11363.     BCS.B    .L1
  11364.     ADDA.L    A0,A5
  11365.     ROL.W    #8,D3
  11366.     MOVE.B    D3,(A5,D7.W)
  11367.     ROL.W    #8,D3
  11368.     MOVE.W    (A2)+,D1
  11369.     IF    DEEBUG
  11370.     BRA    DEBUG
  11371.     ELSE
  11372.     JMP    ([A3,D1.W*4])
  11373.     ENDIF
  11374.  
  11375. .L1
  11376.     CMPI.W    #$3BFF,D1    
  11377.     BHI.B    .L2
  11378.     ADDA.L    A0,A5         
  11379.     MOVE.W    (A2)+,D1
  11380.     IF    DEEBUG
  11381.     BRA    DEBUG
  11382.     ELSE
  11383.     JMP    ([A3,D1.W*4])
  11384.     ENDIF
  11385. .L2
  11386.     MOVE.W    D3,D6
  11387.     ADDA.L    A0,A5
  11388.     ROL.W    #8,D6
  11389.     MOVE.B    D6,(A5,D7.W)    
  11390.     BSR    _screenwrite    
  11391.     MOVE.W    (A2)+,D1
  11392.     IF    DEEBUG
  11393.     BRA    DEBUG
  11394.     ELSE
  11395.     JMP    ([A3,D1.W*4])
  11396.     ENDIF
  11397.  
  11398. MFD71:                ; LD (IY+D),C
  11399.     SUBA.L    A0,A5
  11400.     MOVE.L    A5,D1        
  11401.     MOVE.B    (A2)+,D7
  11402.     EXT.W    D7
  11403.     ADD.W    D7,D1
  11404.     CMPI.W    #$4000,D1    
  11405.     BCS.B    .L1
  11406.     ADDA.L    A0,A5
  11407.     MOVE.B    D3,(A5,D7.W)
  11408.     MOVE.W    (A2)+,D1
  11409.     IF    DEEBUG
  11410.     BRA    DEBUG
  11411.     ELSE
  11412.     JMP    ([A3,D1.W*4])
  11413.     ENDIF
  11414.  
  11415. .L1
  11416.     CMPI.W    #$3BFF,D1    
  11417.     BHI.B    .L2
  11418.     ADDA.L    A0,A5         
  11419.     MOVE.W    (A2)+,D1
  11420.     IF    DEEBUG
  11421.     BRA    DEBUG
  11422.     ELSE
  11423.     JMP    ([A3,D1.W*4])
  11424.     ENDIF
  11425. .L2
  11426.     MOVE.B    D3,D6
  11427.     ADDA.L    A0,A5
  11428.     MOVE.B    D6,(A5,D7.W)    
  11429.     BSR    _screenwrite    
  11430.     MOVE.W    (A2)+,D1
  11431.     IF    DEEBUG
  11432.     BRA    DEBUG
  11433.     ELSE
  11434.     JMP    ([A3,D1.W*4])
  11435.     ENDIF
  11436.  
  11437. MFD72:                ; LD (IY+D),D
  11438.     SUBA.L    A0,A5
  11439.     MOVE.L    A5,D1        
  11440.     MOVE.B    (A2)+,D7
  11441.     EXT.W    D7
  11442.     ADD.W    D7,D1
  11443.     CMPI.W    #$4000,D1    
  11444.     BCS.B    .L1
  11445.     ADDA.L    A0,A5
  11446.     ROL.L    #8,D3
  11447.     MOVE.B    D3,(A5,D7.W)
  11448.     ROR.L    #8,D3
  11449.     MOVE.W    (A2)+,D1
  11450.     IF    DEEBUG
  11451.     BRA    DEBUG
  11452.     ELSE
  11453.     JMP    ([A3,D1.W*4])
  11454.     ENDIF
  11455.  
  11456. .L1
  11457.     CMPI.W    #$3BFF,D1    
  11458.     BHI.B    .L2
  11459.     ADDA.L    A0,A5         
  11460.     MOVE.W    (A2)+,D1
  11461.     IF    DEEBUG
  11462.     BRA    DEBUG
  11463.     ELSE
  11464.     JMP    ([A3,D1.W*4])
  11465.     ENDIF
  11466. .L2
  11467.     MOVE.L    D3,D6
  11468.     ADDA.L    A0,A5
  11469.     ROL.L    #8,D6
  11470.     MOVE.B    D6,(A5,D7.W)    
  11471.     BSR    _screenwrite    
  11472.     MOVE.W    (A2)+,D1
  11473.     IF    DEEBUG
  11474.     BRA    DEBUG
  11475.     ELSE
  11476.     JMP    ([A3,D1.W*4])
  11477.     ENDIF
  11478.  
  11479. MFD73:                ; LD (IY+D),E
  11480.     SUBA.L    A0,A5
  11481.     MOVE.L    A5,D1        
  11482.     MOVE.B    (A2)+,D7
  11483.     EXT.W    D7
  11484.     ADD.W    D7,D1
  11485.     CMPI.W    #$4000,D1    
  11486.     BCS.B    .L1
  11487.     ADDA.L    A0,A5
  11488.     SWAP    D3
  11489.     MOVE.B    D3,(A5,D7.W)
  11490.     SWAP    D3
  11491.     MOVE.W    (A2)+,D1
  11492.     IF    DEEBUG
  11493.     BRA    DEBUG
  11494.     ELSE
  11495.     JMP    ([A3,D1.W*4])
  11496.     ENDIF
  11497.  
  11498. .L1
  11499.     CMPI.W    #$3BFF,D1    
  11500.     BHI.B    .L2
  11501.     ADDA.L    A0,A5         
  11502.     MOVE.W    (A2)+,D1
  11503.     IF    DEEBUG
  11504.     BRA    DEBUG
  11505.     ELSE
  11506.     JMP    ([A3,D1.W*4])
  11507.     ENDIF
  11508. .L2
  11509.     MOVE.L    D3,D6
  11510.     ADDA.L    A0,A5
  11511.     SWAP    D6
  11512.     MOVE.B    D6,(A5,D7.W)    
  11513.     BSR    _screenwrite    
  11514.     MOVE.W    (A2)+,D1
  11515.     IF    DEEBUG
  11516.     BRA    DEBUG
  11517.     ELSE
  11518.     JMP    ([A3,D1.W*4])
  11519.     ENDIF
  11520.  
  11521. MFD74:                ; LD (IY+D),H
  11522.     SUBA.L    A0,A5
  11523.     MOVE.L    A5,D1        
  11524.     MOVE.B    (A2)+,D7
  11525.     EXT.W    D7
  11526.     ADD.W    D7,D1
  11527.     CMPI.W    #$4000,D1    
  11528.     BCS.B    .L1
  11529.     ADDA.L    A0,A5
  11530.     ROL.W    #8,D2
  11531.     MOVE.B    D2,(A5,D7.W)
  11532.     ROL.W    #8,D2
  11533.     MOVE.W    (A2)+,D1
  11534.     IF    DEEBUG
  11535.     BRA    DEBUG
  11536.     ELSE
  11537.     JMP    ([A3,D1.W*4])
  11538.     ENDIF
  11539.  
  11540. .L1
  11541.     CMPI.W    #$3BFF,D1    
  11542.     BHI.B    .L2
  11543.     ADDA.L    A0,A5         
  11544.     MOVE.W    (A2)+,D1
  11545.     IF    DEEBUG
  11546.     BRA    DEBUG
  11547.     ELSE
  11548.     JMP    ([A3,D1.W*4])
  11549.     ENDIF
  11550. .L2
  11551.     MOVE.W    D2,D6
  11552.     ADDA.L    A0,A5
  11553.     ROL.W    #8,D6
  11554.     MOVE.B    D6,(A5,D7.W)    
  11555.     BSR    _screenwrite    
  11556.     MOVE.W    (A2)+,D1
  11557.     IF    DEEBUG
  11558.     BRA    DEBUG
  11559.     ELSE
  11560.     JMP    ([A3,D1.W*4])
  11561.     ENDIF
  11562.  
  11563. MFD75:                ; LD (IY+D),L
  11564.     SUBA.L    A0,A5
  11565.     MOVE.L    A5,D1        
  11566.     MOVE.B    (A2)+,D7
  11567.     EXT.W    D7
  11568.     ADD.W    D7,D1
  11569.     CMPI.W    #$4000,D1    
  11570.     BCS.B    .L1
  11571.     ADDA.L    A0,A5
  11572.     MOVE.B    D2,(A5,D7.W)
  11573.     MOVE.W    (A2)+,D1
  11574.     IF    DEEBUG
  11575.     BRA    DEBUG
  11576.     ELSE
  11577.     JMP    ([A3,D1.W*4])
  11578.     ENDIF
  11579.  
  11580. .L1
  11581.     CMPI.W    #$3BFF,D1    
  11582.     BHI.B    .L2
  11583.     ADDA.L    A0,A5         
  11584.     MOVE.W    (A2)+,D1
  11585.     IF    DEEBUG
  11586.     BRA    DEBUG
  11587.     ELSE
  11588.     JMP    ([A3,D1.W*4])
  11589.     ENDIF
  11590. .L2
  11591.     MOVE.B    D2,D6
  11592.     ADDA.L    A0,A5
  11593.     MOVE.B    D6,(A5,D7.W)    
  11594.     BSR    _screenwrite    
  11595.     MOVE.W    (A2)+,D1
  11596.     IF    DEEBUG
  11597.     BRA    DEBUG
  11598.     ELSE
  11599.     JMP    ([A3,D1.W*4])
  11600.     ENDIF
  11601.  
  11602. MFD77:                ; LD (IY+D),A
  11603.     SUBA.L    A0,A5
  11604.     MOVE.L    A5,D1        
  11605.     MOVE.B    (A2)+,D7
  11606.     EXT.W    D7
  11607.     ADD.W    D7,D1
  11608.     CMPI.W    #$4000,D1    
  11609.     BCS.B    .L1
  11610.     ADDA.L    A0,A5
  11611.     MOVE.B    D0,(A5,D7.W)
  11612.     MOVE.W    (A2)+,D1
  11613.     IF    DEEBUG
  11614.     BRA    DEBUG
  11615.     ELSE
  11616.     JMP    ([A3,D1.W*4])
  11617.     ENDIF
  11618.  
  11619. .L1
  11620.     CMPI.W    #$3BFF,D1    
  11621.     BHI.B    .L2
  11622.     ADDA.L    A0,A5         
  11623.     MOVE.W    (A2)+,D1
  11624.     IF    DEEBUG
  11625.     BRA    DEBUG
  11626.     ELSE
  11627.     JMP    ([A3,D1.W*4])
  11628.     ENDIF
  11629. .L2
  11630.     MOVE.B    D0,D6
  11631.     ADDA.L    A0,A5
  11632.     MOVE.B    D6,(A5,D7.W)    
  11633.     BSR    _screenwrite    
  11634.     MOVE.W    (A2)+,D1
  11635.     IF    DEEBUG
  11636.     BRA    DEBUG
  11637.     ELSE
  11638.     JMP    ([A3,D1.W*4])
  11639.     ENDIF
  11640.  
  11641. MFD7E:                ; LD A,(IY+D)
  11642.     MOVE.B    (A2)+,D1
  11643.     EXT.W    D1
  11644.     MOVE.B    (A5,D1.W),D0
  11645.     MOVE.W    (A2)+,D1
  11646.     IF    DEEBUG
  11647.     BRA    DEBUG
  11648.     ELSE
  11649.     JMP    ([A3,D1.W*4])
  11650.     ENDIF
  11651.  
  11652. MFD86:                ; ADD A,(IY+D)
  11653.     MOVE.B    (A2)+,D1
  11654.     EXT.W    D1
  11655.     MOVE.W    D4,CCR
  11656.     ADD.B    (A5,D1.W),D0
  11657.     MOVE.W    CCR,D4
  11658.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  11659.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11660.     MOVE.W    (A2)+,D1
  11661.     IF    DEEBUG
  11662.     BRA    DEBUG
  11663.     ELSE
  11664.     JMP    ([A3,D1.W*4])
  11665.     ENDIF
  11666.  
  11667. MFD8E:                ; ADC A,(IY+D)
  11668.     MOVE.B    (A2)+,D1
  11669.     EXT.W    D1
  11670.     MOVE.B    (A5,D1.W),D7
  11671.     MOVE.W    D4,CCR
  11672.     ADDX.B    D7,D0
  11673.     MOVE.W    CCR,D4
  11674.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO ADD TABLE
  11675.     MOVE.B    $220(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=0 H=HALF
  11676.     MOVE.W    (A2)+,D1
  11677.     IF    DEEBUG
  11678.     BRA    DEBUG
  11679.     ELSE
  11680.     JMP    ([A3,D1.W*4])
  11681.     ENDIF
  11682.  
  11683. MFD96:                ; SUB (IY+D)
  11684.     MOVE.B    (A2)+,D1
  11685.     EXT.W    D1
  11686.     MOVE.W    D4,CCR
  11687.     SUB.B    (A5,D1.W),D0
  11688.     MOVE.W    CCR,D4
  11689.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  11690.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11691.     MOVE.W    (A2)+,D1
  11692.     IF    DEEBUG
  11693.     BRA    DEBUG
  11694.     ELSE
  11695.     JMP    ([A3,D1.W*4])
  11696.     ENDIF
  11697.  
  11698. MFD9E:                ; SBC A,(IY+D)
  11699.     MOVE.B    (A2)+,D1
  11700.     EXT.W    D1
  11701.     MOVE.B    (A5,D1.W),D7
  11702.     MOVE.W    D4,CCR
  11703.     SUBX.B    D7,D0
  11704.     MOVE.W    CCR,D4
  11705.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO SUB TABLE
  11706.     MOVE.B    $320(A6,D0.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11707.     MOVE.W    (A2)+,D1
  11708.     IF    DEEBUG
  11709.     BRA    DEBUG
  11710.     ELSE
  11711.     JMP    ([A3,D1.W*4])
  11712.     ENDIF
  11713.  
  11714. MFDA6:                ; AND (IY+D)
  11715.     MOVE.B    (A2)+,D1
  11716.     EXT.W    D1
  11717.     MOVE.W    D4,CCR
  11718.     AND.B    (A5,D1.W),D0
  11719.     MOVE.W    CCR,D4
  11720.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  11721.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  11722.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  11723.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  11724.     MOVE.W    (A2)+,D1
  11725.     IF    DEEBUG
  11726.     BRA    DEBUG
  11727.     ELSE
  11728.     JMP    ([A3,D1.W*4])
  11729.     ENDIF
  11730.  
  11731. MFDAE:                ; XOR (IY+D)
  11732.     MOVE.B    (A2)+,D1
  11733.     EXT.W    D1
  11734.     MOVE.B    (A5,D1.W),D7
  11735.     MOVE.W    D4,CCR
  11736.     EOR.B    D7,D0
  11737.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  11738.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  11739.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  11740.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  11741.     MOVE.W    CCR,D4
  11742.     MOVE.W    (A2)+,D1
  11743.     IF    DEEBUG
  11744.     BRA    DEBUG
  11745.     ELSE
  11746.     JMP    ([A3,D1.W*4])
  11747.     ENDIF
  11748.  
  11749. MFDB6:                ; OR (IY+D)
  11750.     MOVE.B    (A2)+,D1
  11751.     EXT.W    D1
  11752.     MOVE.W    D4,CCR
  11753.     OR.B    (A5,D1.W),D0
  11754.     MOVE.W    CCR,D4
  11755.     ANDI.W    #$00FF,D0    ; EXT D0 FOR INDEX INTO PARITY TABLE
  11756.     OR.B    (A6,D0.W),D4    ; SET V FLG TO PARITY TABLE VALUE
  11757.     ANDI.W    #$EE,D4        ; CLEAR C AND X
  11758.     MOVE.B    #$10,D5        ; SET EXTENDED Z80 FLG TO N=0 H=1
  11759.     MOVE.W    (A2)+,D1
  11760.     IF    DEEBUG
  11761.     BRA    DEBUG
  11762.     ELSE
  11763.     JMP    ([A3,D1.W*4])
  11764.     ENDIF
  11765.  
  11766. MFDBE:                ; CP (IY+D)
  11767.     MOVE.B    D0,D6
  11768.     MOVE.B    (A2)+,D1
  11769.     EXT.W    D1
  11770.     MOVE.W    D4,CCR
  11771.     SUB.B    (A5,D1.W),D6
  11772.     MOVE.W    CCR,D4
  11773.     ANDI.W    #$00FF,D6    ; EXT D6 FOR INDEX INTO SUB TABLE
  11774.     MOVE.B    $320(A6,D6.W),D5; SET EXTENDED Z80 FLG TO N=1 H=HALF
  11775.     MOVE.W    (A2)+,D1
  11776.     IF    DEEBUG
  11777.     BRA    DEBUG
  11778.     ELSE
  11779.     JMP    ([A3,D1.W*4])
  11780.     ENDIF
  11781.  
  11782. MFDCB:                ; various (IY+d) instructions    FD CB d X
  11783.     SUBA.L    A0,A5        ; get real IY val
  11784.     MOVE.L    A5,D1
  11785.     ADDA.L    A0,A5        
  11786.     MOVE.B    (A2)+,D7    ; get d offset
  11787.     EXT.W    D7        ; sign extend
  11788.     ADD.W    D7,D1        ; D1 now has (IY+d) for later use by screenwrite()
  11789.     MOVE.B    (A2)+,D7    ; get X to decide function to perform
  11790.  
  11791.     CMPI.B    #6,D7
  11792.     BEQ.W    FDRLC
  11793.     CMPI.B    #14,D7
  11794.     BEQ.W    FDRRC
  11795.     CMPI.B    #$16,D7
  11796.     BEQ.W    FDRL
  11797.     CMPI.B    #$1E,D7
  11798.     BEQ.W    FDRR
  11799.     CMPI.B    #$26,D7
  11800.     BEQ.W    FDSLA
  11801.     CMPI.B    #$2E,D7
  11802.     BEQ.W    FDSRA
  11803.     CMPI.B    #$3E,D7
  11804.     BEQ.W    FDSRL
  11805.     CMPI.B    #$46,D7
  11806.     BEQ.W    FDBT0
  11807.     CMPI.B    #$4E,D7
  11808.     BEQ.W    FDBT1
  11809.     CMPI.B    #$56,D7
  11810.     BEQ.W    FDBT2
  11811.     CMPI.B    #$5E,D7
  11812.     BEQ.W    FDBT3
  11813.     CMPI.B    #$66,D7
  11814.     BEQ.W    FDBT4
  11815.     CMPI.B    #$6E,D7
  11816.     BEQ.W    FDBT5
  11817.     CMPI.B    #$76,D7
  11818.     BEQ.W    FDBT6
  11819.     CMPI.B    #$7E,D7
  11820.     BEQ.W    FDBT7
  11821.     CMPI.B    #$86,D7
  11822.     BEQ.W    FDRS0
  11823.     CMPI.B    #$8E,D7
  11824.     BEQ.W    FDRS1
  11825.     CMPI.B    #$96,D7
  11826.     BEQ.W    FDRS2
  11827.     CMPI.B    #$9E,D7
  11828.     BEQ.W    FDRS3
  11829.     CMPI.B    #$A6,D7
  11830.     BEQ.W    FDRS4
  11831.     CMPI.B    #$AE,D7
  11832.     BEQ.W    FDRS5
  11833.     CMPI.B    #$B6,D7
  11834.     BEQ.W    FDRS6
  11835.     CMPI.B    #$BE,D7
  11836.     BEQ.W    FDRS7
  11837.     CMPI.B    #$C6,D7
  11838.     BEQ.W    FDST0
  11839.     CMPI.B    #$CE,D7
  11840.     BEQ.W    FDST1
  11841.     CMPI.B    #$D6,D7
  11842.     BEQ.W    FDST2
  11843.     CMPI.B    #$DE,D7
  11844.     BEQ.W    FDST3
  11845.     CMPI.B    #$E6,D7
  11846.     BEQ.W    FDST4
  11847.     CMPI.B    #$EE,D7
  11848.     BEQ.W    FDST5
  11849.     CMPI.B    #$F6,D7
  11850.     BEQ.W    FDST6
  11851.     CMPI.B    #$FE,D7
  11852.     BEQ.W    FDST7
  11853.  
  11854.     BRA    ILLEGAL        ; ILLEGAL IF NO MATCH IN TABLE
  11855.  
  11856. FDRLC:                ; RLC (IY+D)
  11857.  
  11858.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11859.     BCS.B    .L1
  11860.     MOVE.B    (A0,D1.L),D6
  11861.     MOVE.W    D4,CCR
  11862.     ROL.B    #1,D6
  11863.     MOVE.W    CCR,D4
  11864.     SCS    D7
  11865.     ANDI.B    #$01,D7
  11866.     ROL.B    #4,D7
  11867.     OR.B    D7,D4
  11868.     ANDI.W    #$00FF,D6
  11869.     OR.B    (A6,D6.W),D4
  11870.     MOVEQ.B    #0,D5
  11871.     MOVE.B    D6,(A0,D1.L)
  11872.     MOVE.W    (A2)+,D1
  11873.     IF    DEEBUG
  11874.     BRA    DEBUG
  11875.     ELSE
  11876.     JMP    ([A3,D1.W*4])
  11877.     ENDIF
  11878. .L1
  11879.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  11880.     BHI.B    .L2
  11881.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  11882.     ROL.B    #1,D6
  11883.     MOVE.W    CCR,D4
  11884.     SCS    D7
  11885.     ANDI.B    #$01,D7
  11886.     ROL.B    #4,D7
  11887.     OR.B    D7,D4
  11888.     ANDI.W    #$00FF,D6
  11889.     OR.B    (A6,D6.W),D4
  11890.     MOVEQ.B    #0,D5
  11891.     MOVE.W    (A2)+,D1
  11892.     IF    DEEBUG
  11893.     BRA    DEBUG
  11894.     ELSE
  11895.     JMP    ([A3,D1.W*4])
  11896.     ENDIF
  11897. .L2
  11898.     MOVE.B    (A0,D1.L),D6
  11899.     MOVE.W    D4,CCR
  11900.     ROL.B    #1,D6
  11901.     MOVE.W    CCR,D4
  11902.     SCS    D7
  11903.     ANDI.B    #$01,D7
  11904.     ROL.B    #4,D7
  11905.     OR.B    D7,D4
  11906.     ANDI.W    #$00FF,D6
  11907.     OR.B    (A6,D6.W),D4
  11908.     MOVEQ.B    #0,D5
  11909.     MOVE.B    D6,(A0,D1.L)
  11910.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  11911.     MOVE.W    (A2)+,D1
  11912.     IF    DEEBUG
  11913.     BRA    DEBUG
  11914.     ELSE
  11915.     JMP    ([A3,D1.W*4])
  11916.     ENDIF
  11917.  
  11918. FDRRC:                ; RRC (IY+D)
  11919.  
  11920.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11921.     BCS.B    .L1
  11922.     MOVE.B    (A0,D1.L),D6
  11923.     MOVE.W    D4,CCR
  11924.     ROR.B    #1,D6
  11925.     MOVE.W    CCR,D4
  11926.     SCS    D7
  11927.     ANDI.B    #$01,D7
  11928.     ROL.B    #4,D7
  11929.     OR.B    D7,D4
  11930.     ANDI.W    #$00FF,D6
  11931.     OR.B    (A6,D6.W),D4
  11932.     MOVEQ.B    #0,D5
  11933.     MOVE.B    D6,(A0,D1.L)
  11934.     MOVE.W    (A2)+,D1
  11935.     IF    DEEBUG
  11936.     BRA    DEBUG
  11937.     ELSE
  11938.     JMP    ([A3,D1.W*4])
  11939.     ENDIF
  11940. .L1
  11941.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  11942.     BHI.B    .L2
  11943.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  11944.     ROR.B    #1,D6
  11945.     MOVE.W    CCR,D4
  11946.     SCS    D7
  11947.     ANDI.B    #$01,D7
  11948.     ROL.B    #4,D7
  11949.     OR.B    D7,D4
  11950.     ANDI.W    #$00FF,D6
  11951.     OR.B    (A6,D6.W),D4
  11952.     MOVEQ.B    #0,D5
  11953.     MOVE.W    (A2)+,D1
  11954.     IF    DEEBUG
  11955.     BRA    DEBUG
  11956.     ELSE
  11957.     JMP    ([A3,D1.W*4])
  11958.     ENDIF
  11959. .L2
  11960.     MOVE.B    (A0,D1.L),D6
  11961.     MOVE.W    D4,CCR
  11962.     ROR.B    #1,D6
  11963.     MOVE.W    CCR,D4
  11964.     SCS    D7
  11965.     ANDI.B    #$01,D7
  11966.     ROL.B    #4,D7
  11967.     OR.B    D7,D4
  11968.     ANDI.W    #$00FF,D6
  11969.     OR.B    (A6,D6.W),D4
  11970.     MOVEQ.B    #0,D5
  11971.     MOVE.B    D6,(A0,D1.L)
  11972.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  11973.     MOVE.W    (A2)+,D1
  11974.     IF    DEEBUG
  11975.     BRA    DEBUG
  11976.     ELSE
  11977.     JMP    ([A3,D1.W*4])
  11978.     ENDIF
  11979.  
  11980. FDRL:                ; RL (IY+D)
  11981.  
  11982.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  11983.     BCS.B    .L1
  11984.     MOVE.B    (A0,D1.L),D6
  11985.     MOVE.W    D4,CCR
  11986.     ROXL.B    #1,D6
  11987.     MOVE.W    CCR,D4
  11988.     SCS    D7
  11989.     ANDI.B    #$01,D7
  11990.     ROL.B    #4,D7
  11991.     OR.B    D7,D4
  11992.     ANDI.W    #$00FF,D6
  11993.     OR.B    (A6,D6.W),D4
  11994.     MOVEQ.B    #0,D5
  11995.     MOVE.B    D6,(A0,D1.L)
  11996.     MOVE.W    (A2)+,D1
  11997.     IF    DEEBUG
  11998.     BRA    DEBUG
  11999.     ELSE
  12000.     JMP    ([A3,D1.W*4])
  12001.     ENDIF
  12002. .L1
  12003.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12004.     BHI.B    .L2
  12005.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12006.     ROXL.B    #1,D6
  12007.     MOVE.W    CCR,D4
  12008.     SCS    D7
  12009.     ANDI.B    #$01,D7
  12010.     ROL.B    #4,D7
  12011.     OR.B    D7,D4
  12012.     ANDI.W    #$00FF,D6
  12013.     OR.B    (A6,D6.W),D4
  12014.     MOVEQ.B    #0,D5
  12015.     MOVE.W    (A2)+,D1
  12016.     IF    DEEBUG
  12017.     BRA    DEBUG
  12018.     ELSE
  12019.     JMP    ([A3,D1.W*4])
  12020.     ENDIF
  12021. .L2
  12022.     MOVE.B    (A0,D1.L),D6
  12023.     MOVE.W    D4,CCR
  12024.     ROXL.B    #1,D6
  12025.     MOVE.W    CCR,D4
  12026.     SCS    D7
  12027.     ANDI.B    #$01,D7
  12028.     ROL.B    #4,D7
  12029.     OR.B    D7,D4
  12030.     ANDI.W    #$00FF,D6
  12031.     OR.B    (A6,D6.W),D4
  12032.     MOVEQ.B    #0,D5
  12033.     MOVE.B    D6,(A0,D1.L)
  12034.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12035.     MOVE.W    (A2)+,D1
  12036.     IF    DEEBUG
  12037.     BRA    DEBUG
  12038.     ELSE
  12039.     JMP    ([A3,D1.W*4])
  12040.     ENDIF
  12041.  
  12042. FDRR:                ; RR (IY+D)
  12043.  
  12044.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12045.     BCS.B    .L1
  12046.     MOVE.B    (A0,D1.L),D6
  12047.     MOVE.W    D4,CCR
  12048.     ROXR.B    #1,D6
  12049.     MOVE.W    CCR,D4
  12050.     SCS    D7
  12051.     ANDI.B    #$01,D7
  12052.     ROL.B    #4,D7
  12053.     OR.B    D7,D4
  12054.     ANDI.W    #$00FF,D6
  12055.     OR.B    (A6,D6.W),D4
  12056.     MOVEQ.B    #0,D5
  12057.     MOVE.B    D6,(A0,D1.L)
  12058.     MOVE.W    (A2)+,D1
  12059.     IF    DEEBUG
  12060.     BRA    DEBUG
  12061.     ELSE
  12062.     JMP    ([A3,D1.W*4])
  12063.     ENDIF
  12064. .L1
  12065.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12066.     BHI.B    .L2
  12067.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12068.     ROXR.B    #1,D6
  12069.     MOVE.W    CCR,D4
  12070.     SCS    D7
  12071.     ANDI.B    #$01,D7
  12072.     ROL.B    #4,D7
  12073.     OR.B    D7,D4
  12074.     ANDI.W    #$00FF,D6
  12075.     OR.B    (A6,D6.W),D4
  12076.     MOVEQ.B    #0,D5
  12077.     MOVE.W    (A2)+,D1
  12078.     IF    DEEBUG
  12079.     BRA    DEBUG
  12080.     ELSE
  12081.     JMP    ([A3,D1.W*4])
  12082.     ENDIF
  12083. .L2
  12084.     MOVE.B    (A0,D1.L),D6
  12085.     MOVE.W    D4,CCR
  12086.     ROXR.B    #1,D6
  12087.     MOVE.W    CCR,D4
  12088.     SCS    D7
  12089.     ANDI.B    #$01,D7
  12090.     ROL.B    #4,D7
  12091.     OR.B    D7,D4
  12092.     ANDI.W    #$00FF,D6
  12093.     OR.B    (A6,D6.W),D4
  12094.     MOVEQ.B    #0,D5
  12095.     MOVE.B    D6,(A0,D1.L)
  12096.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12097.     MOVE.W    (A2)+,D1
  12098.     IF    DEEBUG
  12099.     BRA    DEBUG
  12100.     ELSE
  12101.     JMP    ([A3,D1.W*4])
  12102.     ENDIF
  12103.  
  12104. FDSLA:                ; SLA (IY+D)
  12105.  
  12106.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12107.     BCS.B    .L1
  12108.     MOVE.B    (A0,D1.L),D6
  12109.     MOVE.W    D4,CCR
  12110.     LSL.B    #1,D6
  12111.     MOVE.W    CCR,D4
  12112.     SCS    D7
  12113.     ANDI.B    #$01,D7
  12114.     ROL.B    #4,D7
  12115.     OR.B    D7,D4
  12116.     ANDI.W    #$00FF,D6
  12117.     OR.B    (A6,D6.W),D4
  12118.     MOVEQ.B    #0,D5
  12119.     MOVE.B    D6,(A0,D1.L)
  12120.     MOVE.W    (A2)+,D1
  12121.     IF    DEEBUG
  12122.     BRA    DEBUG
  12123.     ELSE
  12124.     JMP    ([A3,D1.W*4])
  12125.     ENDIF
  12126. .L1
  12127.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12128.     BHI.B    .L2
  12129.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12130.     LSL.B    #1,D6
  12131.     MOVE.W    CCR,D4
  12132.     SCS    D7
  12133.     ANDI.B    #$01,D7
  12134.     ROL.B    #4,D7
  12135.     OR.B    D7,D4
  12136.     ANDI.W    #$00FF,D6
  12137.     OR.B    (A6,D6.W),D4
  12138.     MOVEQ.B    #0,D5
  12139.     MOVE.W    (A2)+,D1
  12140.     IF    DEEBUG
  12141.     BRA    DEBUG
  12142.     ELSE
  12143.     JMP    ([A3,D1.W*4])
  12144.     ENDIF
  12145. .L2
  12146.     MOVE.B    (A0,D1.L),D6
  12147.     MOVE.W    D4,CCR
  12148.     LSL.B    #1,D6
  12149.     MOVE.W    CCR,D4
  12150.     SCS    D7
  12151.     ANDI.B    #$01,D7
  12152.     ROL.B    #4,D7
  12153.     OR.B    D7,D4
  12154.     ANDI.W    #$00FF,D6
  12155.     OR.B    (A6,D6.W),D4
  12156.     MOVEQ.B    #0,D5
  12157.     MOVE.B    D6,(A0,D1.L)
  12158.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12159.     MOVE.W    (A2)+,D1
  12160.     IF    DEEBUG
  12161.     BRA    DEBUG
  12162.     ELSE
  12163.     JMP    ([A3,D1.W*4])
  12164.     ENDIF
  12165.  
  12166. FDSRA:                ; SRA (IY+D)
  12167.  
  12168.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12169.     BCS.B    .L1
  12170.     MOVE.B    (A0,D1.L),D6
  12171.     MOVE.W    D4,CCR
  12172.     ASR.B    #1,D6
  12173.     MOVE.W    CCR,D4
  12174.     SCS    D7
  12175.     ANDI.B    #$01,D7
  12176.     ROL.B    #4,D7
  12177.     OR.B    D7,D4
  12178.     ANDI.W    #$00FF,D6
  12179.     OR.B    (A6,D6.W),D4
  12180.     MOVEQ.B    #0,D5
  12181.     MOVE.B    D6,(A0,D1.L)
  12182.     MOVE.W    (A2)+,D1
  12183.     IF    DEEBUG
  12184.     BRA    DEBUG
  12185.     ELSE
  12186.     JMP    ([A3,D1.W*4])
  12187.     ENDIF
  12188. .L1
  12189.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12190.     BHI.B    .L2
  12191.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12192.     ASR.B    #1,D6
  12193.     MOVE.W    CCR,D4
  12194.     SCS    D7
  12195.     ANDI.B    #$01,D7
  12196.     ROL.B    #4,D7
  12197.     OR.B    D7,D4
  12198.     ANDI.W    #$00FF,D6
  12199.     OR.B    (A6,D6.W),D4
  12200.     MOVEQ.B    #0,D5
  12201.     MOVE.W    (A2)+,D1
  12202.     IF    DEEBUG
  12203.     BRA    DEBUG
  12204.     ELSE
  12205.     JMP    ([A3,D1.W*4])
  12206.     ENDIF
  12207. .L2
  12208.     MOVE.B    (A0,D1.L),D6
  12209.     MOVE.W    D4,CCR
  12210.     ASR.B    #1,D6
  12211.     MOVE.W    CCR,D4
  12212.     SCS    D7
  12213.     ANDI.B    #$01,D7
  12214.     ROL.B    #4,D7
  12215.     OR.B    D7,D4
  12216.     ANDI.W    #$00FF,D6
  12217.     OR.B    (A6,D6.W),D4
  12218.     MOVEQ.B    #0,D5
  12219.     MOVE.B    D6,(A0,D1.L)
  12220.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12221.     MOVE.W    (A2)+,D1
  12222.     IF    DEEBUG
  12223.     BRA    DEBUG
  12224.     ELSE
  12225.     JMP    ([A3,D1.W*4])
  12226.     ENDIF
  12227.  
  12228. FDSRL:                ; SRL (IY+D)
  12229.  
  12230.     CMPI.W    #$4000,D1    ; if HL >= 4000 do the instruction
  12231.     BCS.B    .L1
  12232.     MOVE.B    (A0,D1.L),D6
  12233.     MOVE.W    D4,CCR
  12234.     LSR.B    #1,D6
  12235.     MOVE.W    CCR,D4
  12236.     SCS    D7
  12237.     ANDI.B    #$01,D7
  12238.     ROL.B    #4,D7
  12239.     OR.B    D7,D4
  12240.     ANDI.W    #$00FF,D6
  12241.     OR.B    (A6,D6.W),D4
  12242.     MOVEQ.B    #0,D5
  12243.     MOVE.B    D6,(A0,D1.L)
  12244.     MOVE.W    (A2)+,D1
  12245.     IF    DEEBUG
  12246.     BRA    DEBUG
  12247.     ELSE
  12248.     JMP    ([A3,D1.W*4])
  12249.     ENDIF
  12250. .L1
  12251.     CMPI.W    #$3BFF,D1    ; if HL <= 3C00 we are in ROM so do nothing
  12252.     BHI.B    .L2
  12253.     MOVE.B    (A0,D1.L),D6    ; CONDITION THE FLAGS BUT DONT ALTER (HL)
  12254.     LSR.B    #1,D6
  12255.     MOVE.W    CCR,D4
  12256.     SCS    D7
  12257.     ANDI.B    #$01,D7
  12258.     ROL.B    #4,D7
  12259.     OR.B    D7,D4
  12260.     ANDI.W    #$00FF,D6
  12261.     OR.B    (A6,D6.W),D4
  12262.     MOVEQ.B    #0,D5
  12263.     MOVE.W    (A2)+,D1
  12264.     IF    DEEBUG
  12265.     BRA    DEBUG
  12266.     ELSE
  12267.     JMP    ([A3,D1.W*4])
  12268.     ENDIF
  12269. .L2
  12270.     MOVE.B    (A0,D1.L),D6
  12271.     MOVE.W    D4,CCR
  12272.     LSR.B    #1,D6
  12273.     MOVE.W    CCR,D4
  12274.     SCS    D7
  12275.     ANDI.B    #$01,D7
  12276.     ROL.B    #4,D7
  12277.     OR.B    D7,D4
  12278.     ANDI.W    #$00FF,D6
  12279.     OR.B    (A6,D6.W),D4
  12280.     MOVEQ.B    #0,D5
  12281.     MOVE.B    D6,(A0,D1.L)
  12282.     BSR    _screenwrite    ; HL -> SCREENLOC D6=BYTE
  12283.     MOVE.W    (A2)+,D1
  12284.     IF    DEEBUG
  12285.     BRA    DEBUG
  12286.     ELSE
  12287.     JMP    ([A3,D1.W*4])
  12288.     ENDIF
  12289.  
  12290. FDBT0:    MOVE.B    (A0,D1.L),D7        ; BTST 0 IYD
  12291.     MOVE.W    D4,CCR
  12292.     BTST    #0,D7
  12293.     MOVE.W    CCR,D4
  12294.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12295.     MOVE.W    (A2)+,D1
  12296.     IF    DEEBUG
  12297.     BRA    DEBUG
  12298.     ELSE
  12299.     JMP    ([A3,D1.W*4])
  12300.     ENDIF
  12301.  
  12302. FDBT1:    MOVE.B    (A0,D1.L),D7
  12303.     MOVE.W    D4,CCR
  12304.     BTST    #1,D7
  12305.     MOVE.W    CCR,D4
  12306.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12307.     MOVE.W    (A2)+,D1
  12308.     IF    DEEBUG
  12309.     BRA    DEBUG
  12310.     ELSE
  12311.     JMP    ([A3,D1.W*4])
  12312.     ENDIF
  12313.  
  12314. FDBT2:    MOVE.B    (A0,D1.L),D7
  12315.     MOVE.W    D4,CCR
  12316.     BTST    #2,D7
  12317.     MOVE.W    CCR,D4
  12318.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12319.     MOVE.W    (A2)+,D1
  12320.     IF    DEEBUG
  12321.     BRA    DEBUG
  12322.     ELSE
  12323.     JMP    ([A3,D1.W*4])
  12324.     ENDIF
  12325.  
  12326. FDBT3:    MOVE.B    (A0,D1.L),D7
  12327.     MOVE.W    D4,CCR
  12328.     BTST    #3,D7
  12329.     MOVE.W    CCR,D4
  12330.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12331.     MOVE.W    (A2)+,D1
  12332.     IF    DEEBUG
  12333.     BRA    DEBUG
  12334.     ELSE
  12335.     JMP    ([A3,D1.W*4])
  12336.     ENDIF
  12337.  
  12338. FDBT4:    MOVE.B    (A0,D1.L),D7
  12339.     MOVE.W    D4,CCR
  12340.     BTST    #4,D7
  12341.     MOVE.W    CCR,D4
  12342.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12343.     MOVE.W    (A2)+,D1
  12344.     IF    DEEBUG
  12345.     BRA    DEBUG
  12346.     ELSE
  12347.     JMP    ([A3,D1.W*4])
  12348.     ENDIF
  12349.  
  12350. FDBT5:    MOVE.B    (A0,D1.L),D7
  12351.     MOVE.W    D4,CCR
  12352.     BTST    #5,D7
  12353.     MOVE.W    CCR,D4
  12354.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12355.     MOVE.W    (A2)+,D1
  12356.     IF    DEEBUG
  12357.     BRA    DEBUG
  12358.     ELSE
  12359.     JMP    ([A3,D1.W*4])
  12360.     ENDIF
  12361.  
  12362. FDBT6:    MOVE.B    (A0,D1.L),D7
  12363.     MOVE.W    D4,CCR
  12364.     BTST    #6,D7
  12365.     MOVE.W    CCR,D4
  12366.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12367.     MOVE.W    (A2)+,D1
  12368.     IF    DEEBUG
  12369.     BRA    DEBUG
  12370.     ELSE
  12371.     JMP    ([A3,D1.W*4])
  12372.     ENDIF
  12373.  
  12374. FDBT7:    MOVE.B    (A0,D1.L),D7
  12375.     MOVE.W    D4,CCR
  12376.     BTST    #7,D7
  12377.     MOVE.W    CCR,D4
  12378.     MOVEQ    #$10,D5        ; SET H=1,N=0
  12379.     MOVE.W    (A2)+,D1
  12380.     IF    DEEBUG
  12381.     BRA    DEBUG
  12382.     ELSE
  12383.     JMP    ([A3,D1.W*4])
  12384.     ENDIF
  12385.  
  12386. FDRS0:    CMPI.W    #$4000,D1    ; RES 0 IYD
  12387.     BCS.B    .L1
  12388.     BCLR    #0,(A0,D1.L)
  12389.     MOVE.W    (A2)+,D1
  12390.     IF    DEEBUG
  12391.     BRA    DEBUG
  12392.     ELSE
  12393.     JMP    ([A3,D1.W*4])
  12394.     ENDIF
  12395. .L1
  12396.     CMPI.W    #$3BFF,D1    
  12397.     BHI.B    .L2
  12398.     MOVE.W    (A2)+,D1
  12399.     IF    DEEBUG
  12400.     BRA    DEBUG
  12401.     ELSE
  12402.     JMP    ([A3,D1.W*4])
  12403.     ENDIF
  12404. .L2
  12405.     BCLR    #0,(A0,D1.L)
  12406.     MOVE.B    (A0,D1.L),D6    
  12407.     BSR    _screenwrite
  12408.     MOVE.W    (A2)+,D1
  12409.     IF    DEEBUG
  12410.     BRA    DEBUG
  12411.     ELSE
  12412.     JMP    ([A3,D1.W*4])
  12413.     ENDIF
  12414.  
  12415. FDRS1:    CMPI.W    #$4000,D1    
  12416.     BCS.B    .L1
  12417.     BCLR    #1,(A0,D1.L)
  12418.     MOVE.W    (A2)+,D1
  12419.     IF    DEEBUG
  12420.     BRA    DEBUG
  12421.     ELSE
  12422.     JMP    ([A3,D1.W*4])
  12423.     ENDIF
  12424. .L1
  12425.     CMPI.W    #$3BFF,D1    
  12426.     BHI.B    .L2
  12427.     MOVE.W    (A2)+,D1
  12428.     IF    DEEBUG
  12429.     BRA    DEBUG
  12430.     ELSE
  12431.     JMP    ([A3,D1.W*4])
  12432.     ENDIF
  12433. .L2
  12434.     BCLR    #1,(A0,D1.L)
  12435.     MOVE.B    (A0,D1.L),D6    
  12436.     BSR    _screenwrite
  12437.     MOVE.W    (A2)+,D1
  12438.     IF    DEEBUG
  12439.     BRA    DEBUG
  12440.     ELSE
  12441.     JMP    ([A3,D1.W*4])
  12442.     ENDIF
  12443.  
  12444. FDRS2:    CMPI.W    #$4000,D1    
  12445.     BCS.B    .L1
  12446.     BCLR    #2,(A0,D1.L)
  12447.     MOVE.W    (A2)+,D1
  12448.     IF    DEEBUG
  12449.     BRA    DEBUG
  12450.     ELSE
  12451.     JMP    ([A3,D1.W*4])
  12452.     ENDIF
  12453. .L1
  12454.     CMPI.W    #$3BFF,D1    
  12455.     BHI.B    .L2
  12456.     MOVE.W    (A2)+,D1
  12457.     IF    DEEBUG
  12458.     BRA    DEBUG
  12459.     ELSE
  12460.     JMP    ([A3,D1.W*4])
  12461.     ENDIF
  12462. .L2
  12463.     BCLR    #2,(A0,D1.L)
  12464.     MOVE.B    (A0,D1.L),D6    
  12465.     BSR    _screenwrite
  12466.     MOVE.W    (A2)+,D1
  12467.     IF    DEEBUG
  12468.     BRA    DEBUG
  12469.     ELSE
  12470.     JMP    ([A3,D1.W*4])
  12471.     ENDIF
  12472.  
  12473. FDRS3:    CMPI.W    #$4000,D1    
  12474.     BCS.B    .L1
  12475.     BCLR    #3,(A0,D1.L)
  12476.     MOVE.W    (A2)+,D1
  12477.     IF    DEEBUG
  12478.     BRA    DEBUG
  12479.     ELSE
  12480.     JMP    ([A3,D1.W*4])
  12481.     ENDIF
  12482. .L1
  12483.     CMPI.W    #$3BFF,D1    
  12484.     BHI.B    .L2
  12485.     MOVE.W    (A2)+,D1
  12486.     IF    DEEBUG
  12487.     BRA    DEBUG
  12488.     ELSE
  12489.     JMP    ([A3,D1.W*4])
  12490.     ENDIF
  12491. .L2
  12492.     BCLR    #3,(A0,D1.L)
  12493.     MOVE.B    (A0,D1.L),D6    
  12494.     BSR    _screenwrite
  12495.     MOVE.W    (A2)+,D1
  12496.     IF    DEEBUG
  12497.     BRA    DEBUG
  12498.     ELSE
  12499.     JMP    ([A3,D1.W*4])
  12500.     ENDIF
  12501.  
  12502. FDRS4:    CMPI.W    #$4000,D1    
  12503.     BCS.B    .L1
  12504.     BCLR    #4,(A0,D1.L)
  12505.     MOVE.W    (A2)+,D1
  12506.     IF    DEEBUG
  12507.     BRA    DEBUG
  12508.     ELSE
  12509.     JMP    ([A3,D1.W*4])
  12510.     ENDIF
  12511. .L1
  12512.     CMPI.W    #$3BFF,D1    
  12513.     BHI.B    .L2
  12514.     MOVE.W    (A2)+,D1
  12515.     IF    DEEBUG
  12516.     BRA    DEBUG
  12517.     ELSE
  12518.     JMP    ([A3,D1.W*4])
  12519.     ENDIF
  12520. .L2
  12521.     BCLR    #4,(A0,D1.L)
  12522.     MOVE.B    (A0,D1.L),D6    
  12523.     BSR    _screenwrite
  12524.     MOVE.W    (A2)+,D1
  12525.     IF    DEEBUG
  12526.     BRA    DEBUG
  12527.     ELSE
  12528.     JMP    ([A3,D1.W*4])
  12529.     ENDIF
  12530.  
  12531. FDRS5:    CMPI.W    #$4000,D1    
  12532.     BCS.B    .L1
  12533.     BCLR    #5,(A0,D1.L)
  12534.     MOVE.W    (A2)+,D1
  12535.     IF    DEEBUG
  12536.     BRA    DEBUG
  12537.     ELSE
  12538.     JMP    ([A3,D1.W*4])
  12539.     ENDIF
  12540. .L1
  12541.     CMPI.W    #$3BFF,D1    
  12542.     BHI.B    .L2
  12543.     MOVE.W    (A2)+,D1
  12544.     IF    DEEBUG
  12545.     BRA    DEBUG
  12546.     ELSE
  12547.     JMP    ([A3,D1.W*4])
  12548.     ENDIF
  12549. .L2
  12550.     BCLR    #5,(A0,D1.L)
  12551.     MOVE.B    (A0,D1.L),D6    
  12552.     BSR    _screenwrite
  12553.     MOVE.W    (A2)+,D1
  12554.     IF    DEEBUG
  12555.     BRA    DEBUG
  12556.     ELSE
  12557.     JMP    ([A3,D1.W*4])
  12558.     ENDIF
  12559.  
  12560. FDRS6:    CMPI.W    #$4000,D1    
  12561.     BCS.B    .L1
  12562.     BCLR    #6,(A0,D1.L)
  12563.     MOVE.W    (A2)+,D1
  12564.     IF    DEEBUG
  12565.     BRA    DEBUG
  12566.     ELSE
  12567.     JMP    ([A3,D1.W*4])
  12568.     ENDIF
  12569. .L1
  12570.     CMPI.W    #$3BFF,D1    
  12571.     BHI.B    .L2
  12572.     MOVE.W    (A2)+,D1
  12573.     IF    DEEBUG
  12574.     BRA    DEBUG
  12575.     ELSE
  12576.     JMP    ([A3,D1.W*4])
  12577.     ENDIF
  12578. .L2
  12579.     BCLR    #6,(A0,D1.L)
  12580.     MOVE.B    (A0,D1.L),D6    
  12581.     BSR    _screenwrite
  12582.     MOVE.W    (A2)+,D1
  12583.     IF    DEEBUG
  12584.     BRA    DEBUG
  12585.     ELSE
  12586.     JMP    ([A3,D1.W*4])
  12587.     ENDIF
  12588.  
  12589. FDRS7:    CMPI.W    #$4000,D1    
  12590.     BCS.B    .L1
  12591.     BCLR    #7,(A0,D1.L)
  12592.     MOVE.W    (A2)+,D1
  12593.     IF    DEEBUG
  12594.     BRA    DEBUG
  12595.     ELSE
  12596.     JMP    ([A3,D1.W*4])
  12597.     ENDIF
  12598. .L1
  12599.     CMPI.W    #$3BFF,D1    
  12600.     BHI.B    .L2
  12601.     MOVE.W    (A2)+,D1
  12602.     IF    DEEBUG
  12603.     BRA    DEBUG
  12604.     ELSE
  12605.     JMP    ([A3,D1.W*4])
  12606.     ENDIF
  12607. .L2
  12608.     BCLR    #7,(A0,D1.L)
  12609.     MOVE.B    (A0,D1.L),D6    
  12610.     BSR    _screenwrite
  12611.     MOVE.W    (A2)+,D1
  12612.     IF    DEEBUG
  12613.     BRA    DEBUG
  12614.     ELSE
  12615.     JMP    ([A3,D1.W*4])
  12616.     ENDIF
  12617.  
  12618. FDST0:    CMPI.W    #$4000,D1    ;    SET 0 IYD (D1 HOLDS IY+D)
  12619.     BCS.B    .L1
  12620.     BSET    #0,(A0,D1.L)
  12621.     MOVE.W    (A2)+,D1
  12622.     IF    DEEBUG
  12623.     BRA    DEBUG
  12624.     ELSE
  12625.     JMP    ([A3,D1.W*4])
  12626.     ENDIF
  12627. .L1
  12628.     CMPI.W    #$3BFF,D1    
  12629.     BHI.B    .L2
  12630.     MOVE.W    (A2)+,D1
  12631.     IF    DEEBUG
  12632.     BRA    DEBUG
  12633.     ELSE
  12634.     JMP    ([A3,D1.W*4])
  12635.     ENDIF
  12636. .L2
  12637.     BSET    #0,(A0,D1.L)
  12638.     MOVE.B    (A0,D1.L),D6    
  12639.     BSR    _screenwrite
  12640.     MOVE.W    (A2)+,D1
  12641.     IF    DEEBUG
  12642.     BRA    DEBUG
  12643.     ELSE
  12644.     JMP    ([A3,D1.W*4])
  12645.     ENDIF
  12646.  
  12647. FDST1:    CMPI.W    #$4000,D1    ;    SET 1 IYD
  12648.     BCS.B    .L1
  12649.     BSET    #1,(A0,D1.L)
  12650.     MOVE.W    (A2)+,D1
  12651.     IF    DEEBUG
  12652.     BRA    DEBUG
  12653.     ELSE
  12654.     JMP    ([A3,D1.W*4])
  12655.     ENDIF
  12656. .L1
  12657.     CMPI.W    #$3BFF,D1    
  12658.     BHI.B    .L2
  12659.     MOVE.W    (A2)+,D1
  12660.     IF    DEEBUG
  12661.     BRA    DEBUG
  12662.     ELSE
  12663.     JMP    ([A3,D1.W*4])
  12664.     ENDIF
  12665. .L2
  12666.     BSET    #1,(A0,D1.L)
  12667.     MOVE.B    (A0,D1.L),D6    
  12668.     BSR    _screenwrite
  12669.     MOVE.W    (A2)+,D1
  12670.     IF    DEEBUG
  12671.     BRA    DEBUG
  12672.     ELSE
  12673.     JMP    ([A3,D1.W*4])
  12674.     ENDIF
  12675.  
  12676. FDST2:    CMPI.W    #$4000,D1    ; SET 2 IYD
  12677.     BCS.B    .L1
  12678.     BSET    #2,(A0,D1.L)
  12679.     MOVE.W    (A2)+,D1
  12680.     IF    DEEBUG
  12681.     BRA    DEBUG
  12682.     ELSE
  12683.     JMP    ([A3,D1.W*4])
  12684.     ENDIF
  12685. .L1
  12686.     CMPI.W    #$3BFF,D1    
  12687.     BHI.B    .L2
  12688.     MOVE.W    (A2)+,D1
  12689.     IF    DEEBUG
  12690.     BRA    DEBUG
  12691.     ELSE
  12692.     JMP    ([A3,D1.W*4])
  12693.     ENDIF
  12694. .L2
  12695.     BSET    #2,(A0,D1.L)
  12696.     MOVE.B    (A0,D1.L),D6    
  12697.     BSR    _screenwrite
  12698.     MOVE.W    (A2)+,D1
  12699.     IF    DEEBUG
  12700.     BRA    DEBUG
  12701.     ELSE
  12702.     JMP    ([A3,D1.W*4])
  12703.     ENDIF
  12704.  
  12705. FDST3:    CMPI.W    #$4000,D1    ; SET 3 IYD 
  12706.     BCS.B    .L1
  12707.     BSET    #3,(A0,D1.L)
  12708.     MOVE.W    (A2)+,D1
  12709.     IF    DEEBUG
  12710.     BRA    DEBUG
  12711.     ELSE
  12712.     JMP    ([A3,D1.W*4])
  12713.     ENDIF
  12714. .L1
  12715.     CMPI.W    #$3BFF,D1    
  12716.     BHI.B    .L2
  12717.     MOVE.W    (A2)+,D1
  12718.     IF    DEEBUG
  12719.     BRA    DEBUG
  12720.     ELSE
  12721.     JMP    ([A3,D1.W*4])
  12722.     ENDIF
  12723. .L2
  12724.     BSET    #3,(A0,D1.L)
  12725.     MOVE.B    (A0,D1.L),D6    
  12726.     BSR    _screenwrite
  12727.     MOVE.W    (A2)+,D1
  12728.     IF    DEEBUG
  12729.     BRA    DEBUG
  12730.     ELSE
  12731.     JMP    ([A3,D1.W*4])
  12732.     ENDIF
  12733.  
  12734. FDST4:    CMPI.W    #$4000,D1    
  12735.     BCS.B    .L1
  12736.     BSET    #4,(A0,D1.L)
  12737.     MOVE.W    (A2)+,D1
  12738.     IF    DEEBUG
  12739.     BRA    DEBUG
  12740.     ELSE
  12741.     JMP    ([A3,D1.W*4])
  12742.     ENDIF
  12743. .L1
  12744.     CMPI.W    #$3BFF,D1    
  12745.     BHI.B    .L2
  12746.     MOVE.W    (A2)+,D1
  12747.     IF    DEEBUG
  12748.     BRA    DEBUG
  12749.     ELSE
  12750.     JMP    ([A3,D1.W*4])
  12751.     ENDIF
  12752. .L2
  12753.     BSET    #4,(A0,D1.L)
  12754.     MOVE.B    (A0,D1.L),D6    
  12755.     BSR    _screenwrite
  12756.     MOVE.W    (A2)+,D1
  12757.     IF    DEEBUG
  12758.     BRA    DEBUG
  12759.     ELSE
  12760.     JMP    ([A3,D1.W*4])
  12761.     ENDIF
  12762.  
  12763. FDST5:    CMPI.W    #$4000,D1    
  12764.     BCS.B    .L1
  12765.     BSET    #5,(A0,D1.L)
  12766.     MOVE.W    (A2)+,D1
  12767.     IF    DEEBUG
  12768.     BRA    DEBUG
  12769.     ELSE
  12770.     JMP    ([A3,D1.W*4])
  12771.     ENDIF
  12772. .L1
  12773.     CMPI.W    #$3BFF,D1    
  12774.     BHI.B    .L2
  12775.     MOVE.W    (A2)+,D1
  12776.     IF    DEEBUG
  12777.     BRA    DEBUG
  12778.     ELSE
  12779.     JMP    ([A3,D1.W*4])
  12780.     ENDIF
  12781. .L2
  12782.     BSET    #5,(A0,D1.L)
  12783.     MOVE.B    (A0,D1.L),D6    
  12784.     BSR    _screenwrite
  12785.     MOVE.W    (A2)+,D1
  12786.     IF    DEEBUG
  12787.     BRA    DEBUG
  12788.     ELSE
  12789.     JMP    ([A3,D1.W*4])
  12790.     ENDIF
  12791.  
  12792. FDST6:    CMPI.W    #$4000,D1    
  12793.     BCS.B    .L1
  12794.     BSET    #6,(A0,D1.L)
  12795.     MOVE.W    (A2)+,D1
  12796.     IF    DEEBUG
  12797.     BRA    DEBUG
  12798.     ELSE
  12799.     JMP    ([A3,D1.W*4])
  12800.     ENDIF
  12801. .L1
  12802.     CMPI.W    #$3BFF,D1    
  12803.     BHI.B    .L2
  12804.     MOVE.W    (A2)+,D1
  12805.     IF    DEEBUG
  12806.     BRA    DEBUG
  12807.     ELSE
  12808.     JMP    ([A3,D1.W*4])
  12809.     ENDIF
  12810. .L2
  12811.     BSET    #6,(A0,D1.L)
  12812.     MOVE.B    (A0,D1.L),D6    
  12813.     BSR    _screenwrite
  12814.     MOVE.W    (A2)+,D1
  12815.     IF    DEEBUG
  12816.     BRA    DEBUG
  12817.     ELSE
  12818.     JMP    ([A3,D1.W*4])
  12819.     ENDIF
  12820.  
  12821. FDST7:    CMPI.W    #$4000,D1    
  12822.     BCS.B    .L1
  12823.     BSET    #7,(A0,D1.L)
  12824.     MOVE.W    (A2)+,D1
  12825.     IF    DEEBUG
  12826.     BRA    DEBUG
  12827.     ELSE
  12828.     JMP    ([A3,D1.W*4])
  12829.     ENDIF
  12830. .L1
  12831.     CMPI.W    #$3BFF,D1    
  12832.     BHI.B    .L2
  12833.     MOVE.W    (A2)+,D1
  12834.     IF    DEEBUG
  12835.     BRA    DEBUG
  12836.     ELSE
  12837.     JMP    ([A3,D1.W*4])
  12838.     ENDIF
  12839. .L2
  12840.     BSET    #7,(A0,D1.L)
  12841.     MOVE.B    (A0,D1.L),D6    
  12842.     BSR    _screenwrite
  12843.     MOVE.W    (A2)+,D1
  12844.     IF    DEEBUG
  12845.     BRA    DEBUG
  12846.     ELSE
  12847.     JMP    ([A3,D1.W*4])
  12848.     ENDIF
  12849.  
  12850. MFDE1:                ; POP IY
  12851.     MOVEQ    #0,D7
  12852.     MOVE.W    (A4)+,D7
  12853.     ROL.W    #8,D7
  12854.     MOVE.L    D7,A5
  12855.     ADDA.L    A0,A5
  12856.     MOVE.W    (A2)+,D1
  12857.     IF    DEEBUG
  12858.     BRA    DEBUG
  12859.     ELSE
  12860.     JMP    ([A3,D1.W*4])
  12861.     ENDIF
  12862.  
  12863. MFDE3:                ; EX (SP),IY
  12864.     SUBA.L    A0,A5
  12865.     MOVE.L    A5,D7
  12866.     MOVE.W    (A4),D6
  12867.     ROL.W    #8,D6
  12868.     MOVE.W    D6,A5
  12869.     ADDA.L    A0,A5
  12870.     ROL.W    #8,D7
  12871.     MOVE.W    D7,(A4)
  12872.     MOVE.W    (A2)+,D1
  12873.     IF    DEEBUG
  12874.     BRA    DEBUG
  12875.     ELSE
  12876.     JMP    ([A3,D1.W*4])
  12877.     ENDIF
  12878.  
  12879. MFDE5:                ; PUSH IY
  12880.     MOVE.L    A5,D6
  12881.     SUB.L    A0,D6
  12882.     ROL.W    #8,D6
  12883.     MOVE.W    D6,-(A4)
  12884.     MOVE.W    (A2)+,D1
  12885.     IF    DEEBUG
  12886.     BRA    DEBUG
  12887.     ELSE
  12888.     JMP    ([A3,D1.W*4])
  12889.     ENDIF
  12890.  
  12891. MFDE9:                ; JP (IY)
  12892.     MOVE.L    A5,A2
  12893.     MOVE.W    (A2)+,D1
  12894.     IF    DEEBUG
  12895.     BRA    DEBUG
  12896.     ELSE
  12897.     JMP    ([A3,D1.W*4])
  12898.     ENDIF
  12899.  
  12900. MFDF9:                ; LD SP,IY
  12901.     MOVE.L    A5,A4
  12902.     MOVE.W    (A2)+,D1
  12903.     IF    DEEBUG
  12904.     BRA    DEBUG
  12905.     ELSE
  12906.     JMP    ([A3,D1.W*4])
  12907.     ENDIF
  12908.  
  12909.     SECTION    Z80DATA,DATA
  12910.  
  12911. MNTBL:
  12912.     DC.L    MAIN80
  12913.     DC.L    MAIN81
  12914.     DC.L    MAIN82
  12915.     DC.L    MAIN83
  12916.     DC.L    MAIN84
  12917.     DC.L    MAIN85
  12918.     DC.L    MAIN86
  12919.     DC.L    MAIN87
  12920.     DC.L    MAIN88
  12921.     DC.L    MAIN89
  12922.     DC.L    MAIN8A
  12923.     DC.L    MAIN8B
  12924.     DC.L    MAIN8C
  12925.     DC.L    MAIN8D
  12926.     DC.L    MAIN8E
  12927.     DC.L    MAIN8F
  12928.     DC.L    MAIN90
  12929.     DC.L    MAIN91
  12930.     DC.L    MAIN92
  12931.     DC.L    MAIN93
  12932.     DC.L    MAIN94
  12933.     DC.L    MAIN95
  12934.     DC.L    MAIN96
  12935.     DC.L    MAIN97
  12936.     DC.L    MAIN98
  12937.     DC.L    MAIN99
  12938.     DC.L    MAIN9A
  12939.     DC.L    MAIN9B
  12940.     DC.L    MAIN9C
  12941.     DC.L    MAIN9D
  12942.     DC.L    MAIN9E
  12943.     DC.L    MAIN9F
  12944.     DC.L    MAINA0
  12945.     DC.L    MAINA1
  12946.     DC.L    MAINA2
  12947.     DC.L    MAINA3
  12948.     DC.L    MAINA4
  12949.     DC.L    MAINA5
  12950.     DC.L    MAINA6
  12951.     DC.L    MAINA7
  12952.     DC.L    MAINA8
  12953.     DC.L    MAINA9
  12954.     DC.L    MAINAA
  12955.     DC.L    MAINAB
  12956.     DC.L    MAINAC
  12957.     DC.L    MAINAD
  12958.     DC.L    MAINAE
  12959.     DC.L    MAINAF
  12960.     DC.L    MAINB0
  12961.     DC.L    MAINB1
  12962.     DC.L    MAINB2
  12963.     DC.L    MAINB3
  12964.     DC.L    MAINB4
  12965.     DC.L    MAINB5
  12966.     DC.L    MAINB6
  12967.     DC.L    MAINB7
  12968.     DC.L    MAINB8
  12969.     DC.L    MAINB9
  12970.     DC.L    MAINBA
  12971.     DC.L    MAINBB
  12972.     DC.L    MAINBC
  12973.     DC.L    MAINBD
  12974.     DC.L    MAINBE
  12975.     DC.L    MAINBF
  12976.     DC.L    MAINC0
  12977.     DC.L    MAINC1
  12978.     DC.L    MAINC2
  12979.     DC.L    MAINC3
  12980.     DC.L    MAINC4
  12981.     DC.L    MAINC5
  12982.     DC.L    MAINC6
  12983.     DC.L    MAINC7
  12984.     DC.L    MAINC8
  12985.     DC.L    MAINC9
  12986.     DC.L    MAINCA
  12987.     DC.L    ILLEGAL
  12988.     DC.L    MAINCC
  12989.     DC.L    MAINCD
  12990.     DC.L    MAINCE
  12991.     DC.L    MAINCF
  12992.     DC.L    MAIND0
  12993.     DC.L    MAIND1
  12994.     DC.L    MAIND2
  12995.     DC.L    MAIND3
  12996.     DC.L    MAIND4
  12997.     DC.L    MAIND5
  12998.     DC.L    MAIND6
  12999.     DC.L    MAIND7
  13000.     DC.L    MAIND8
  13001.     DC.L    MAIND9
  13002.     DC.L    MAINDA
  13003.     DC.L    MAINDB
  13004.     DC.L    MAINDC
  13005.     DC.L    ILLEGAL
  13006.     DC.L    MAINDE
  13007.     DC.L    MAINDF
  13008.     DC.L    MAINE0
  13009.     DC.L    MAINE1
  13010.     DC.L    MAINE2
  13011.     DC.L    MAINE3
  13012.     DC.L    MAINE4
  13013.     DC.L    MAINE5
  13014.     DC.L    MAINE6
  13015.     DC.L    MAINE7
  13016.     DC.L    MAINE8
  13017.     DC.L    MAINE9
  13018.     DC.L    MAINEA
  13019.     DC.L    MAINEB
  13020.     DC.L    MAINEC
  13021.     DC.L    ILLEGAL
  13022.     DC.L    MAINEE
  13023.     DC.L    MAINEF
  13024.     DC.L    MAINF0
  13025.     DC.L    MAINF1
  13026.     DC.L    MAINF2
  13027.     DC.L    MAINF3
  13028.     DC.L    MAINF4
  13029.     DC.L    MAINF5
  13030.     DC.L    MAINF6
  13031.     DC.L    MAINF7
  13032.     DC.L    MAINF8
  13033.     DC.L    MAINF9
  13034.     DC.L    MAINFA
  13035.     DC.L    MAINFB
  13036.     DC.L    MAINFC
  13037.     DC.L    ILLEGAL
  13038.     DC.L    MAINFE
  13039.     DC.L    MAINFF
  13040.     DC.L    MAIN00
  13041.     DC.L    MAIN01
  13042.     DC.L    MAIN02
  13043.     DC.L    MAIN03
  13044.     DC.L    MAIN04
  13045.     DC.L    MAIN05
  13046.     DC.L    MAIN06
  13047.     DC.L    MAIN07
  13048.     DC.L    MAIN08
  13049.     DC.L    MAIN09
  13050.     DC.L    MAIN0A
  13051.     DC.L    MAIN0B
  13052.     DC.L    MAIN0C
  13053.     DC.L    MAIN0D
  13054.     DC.L    MAIN0E
  13055.     DC.L    MAIN0F
  13056.     DC.L    MAIN10
  13057.     DC.L    MAIN11
  13058.     DC.L    MAIN12
  13059.     DC.L    MAIN13
  13060.     DC.L    MAIN14
  13061.     DC.L    MAIN15
  13062.     DC.L    MAIN16
  13063.     DC.L    MAIN17
  13064.     DC.L    MAIN18
  13065.     DC.L    MAIN19
  13066.     DC.L    MAIN1A
  13067.     DC.L    MAIN1B
  13068.     DC.L    MAIN1C
  13069.     DC.L    MAIN1D
  13070.     DC.L    MAIN1E
  13071.     DC.L    MAIN1F
  13072.     DC.L    MAIN20
  13073.     DC.L    MAIN21
  13074.     DC.L    MAIN22
  13075.     DC.L    MAIN23
  13076.     DC.L    MAIN24
  13077.     DC.L    MAIN25
  13078.     DC.L    MAIN26
  13079.     DC.L    MAIN27
  13080.     DC.L    MAIN28
  13081.     DC.L    MAIN29
  13082.     DC.L    MAIN2A
  13083.     DC.L    MAIN2B
  13084.     DC.L    MAIN2C
  13085.     DC.L    MAIN2D
  13086.     DC.L    MAIN2E
  13087.     DC.L    MAIN2F
  13088.     DC.L    MAIN30
  13089.     DC.L    MAIN31
  13090.     DC.L    MAIN32
  13091.     DC.L    MAIN33
  13092.     DC.L    MAIN34
  13093.     DC.L    MAIN35
  13094.     DC.L    MAIN36
  13095.     DC.L    MAIN37
  13096.     DC.L    MAIN38
  13097.     DC.L    MAIN39
  13098.     DC.L    MAIN3A
  13099.     DC.L    MAIN3B
  13100.     DC.L    MAIN3C
  13101.     DC.L    MAIN3D
  13102.     DC.L    MAIN3E
  13103.     DC.L    MAIN3F
  13104.     DC.L    MAIN40
  13105.     DC.L    MAIN41
  13106.     DC.L    MAIN42
  13107.     DC.L    MAIN43
  13108.     DC.L    MAIN44
  13109.     DC.L    MAIN45
  13110.     DC.L    MAIN46
  13111.     DC.L    MAIN47
  13112.     DC.L    MAIN48
  13113.     DC.L    MAIN49
  13114.     DC.L    MAIN4A
  13115.     DC.L    MAIN4B
  13116.     DC.L    MAIN4C
  13117.     DC.L    MAIN4D
  13118.     DC.L    MAIN4E
  13119.     DC.L    MAIN4F
  13120.     DC.L    MAIN50
  13121.     DC.L    MAIN51
  13122.     DC.L    MAIN52
  13123.     DC.L    MAIN53
  13124.     DC.L    MAIN54
  13125.     DC.L    MAIN55
  13126.     DC.L    MAIN56
  13127.     DC.L    MAIN57
  13128.     DC.L    MAIN58
  13129.     DC.L    MAIN59
  13130.     DC.L    MAIN5A
  13131.     DC.L    MAIN5B
  13132.     DC.L    MAIN5C
  13133.     DC.L    MAIN5D
  13134.     DC.L    MAIN5E
  13135.     DC.L    MAIN5F
  13136.     DC.L    MAIN60
  13137.     DC.L    MAIN61
  13138.     DC.L    MAIN62
  13139.     DC.L    MAIN63
  13140.     DC.L    MAIN64
  13141.     DC.L    MAIN65
  13142.     DC.L    MAIN66
  13143.     DC.L    MAIN67
  13144.     DC.L    MAIN68
  13145.     DC.L    MAIN69
  13146.     DC.L    MAIN6A
  13147.     DC.L    MAIN6B
  13148.     DC.L    MAIN6C
  13149.     DC.L    MAIN6D
  13150.     DC.L    MAIN6E
  13151.     DC.L    MAIN6F
  13152.     DC.L    MAIN70
  13153.     DC.L    MAIN71
  13154.     DC.L    MAIN72
  13155.     DC.L    MAIN73
  13156.     DC.L    MAIN74
  13157.     DC.L    MAIN75
  13158.     DC.L    MAIN76
  13159.     DC.L    MAIN77
  13160.     DC.L    MAIN78
  13161.     DC.L    MAIN79
  13162.     DC.L    MAIN7A
  13163.     DC.L    MAIN7B
  13164.     DC.L    MAIN7C
  13165.     DC.L    MAIN7D
  13166.     DC.L    MAIN7E
  13167.     DC.L    MAIN7F
  13168.  
  13169. CBTABLE:
  13170.     DC.L    MCB00
  13171.     DC.L    MCB01
  13172.     DC.L    MCB02
  13173.     DC.L    MCB03
  13174.     DC.L    MCB04
  13175.     DC.L    MCB05
  13176.     DC.L    MCB06
  13177.     DC.L    MCB07
  13178.     DC.L    MCB08
  13179.     DC.L    MCB09
  13180.     DC.L    MCB0A
  13181.     DC.L    MCB0B
  13182.     DC.L    MCB0C
  13183.     DC.L    MCB0D
  13184.     DC.L    MCB0E
  13185.     DC.L    MCB0F
  13186.     DC.L    MCB10
  13187.     DC.L    MCB11
  13188.     DC.L    MCB12
  13189.     DC.L    MCB13
  13190.     DC.L    MCB14
  13191.     DC.L    MCB15
  13192.     DC.L    MCB16
  13193.     DC.L    MCB17
  13194.     DC.L    MCB18
  13195.     DC.L    MCB19
  13196.     DC.L    MCB1A
  13197.     DC.L    MCB1B
  13198.     DC.L    MCB1C
  13199.     DC.L    MCB1D
  13200.     DC.L    MCB1E
  13201.     DC.L    MCB1F
  13202.     DC.L    MCB20
  13203.     DC.L    MCB21
  13204.     DC.L    MCB22
  13205.     DC.L    MCB23
  13206.     DC.L    MCB24
  13207.     DC.L    MCB25
  13208.     DC.L    MCB26
  13209.     DC.L    MCB27
  13210.     DC.L    MCB28
  13211.     DC.L    MCB29
  13212.     DC.L    MCB2A
  13213.     DC.L    MCB2B
  13214.     DC.L    MCB2C
  13215.     DC.L    MCB2D
  13216.     DC.L    MCB2E
  13217.     DC.L    MCB2F
  13218.     DC.L    ILLEGAL
  13219.     DC.L    ILLEGAL
  13220.     DC.L    ILLEGAL
  13221.     DC.L    ILLEGAL
  13222.     DC.L    ILLEGAL
  13223.     DC.L    ILLEGAL
  13224.     DC.L    ILLEGAL
  13225.     DC.L    ILLEGAL
  13226.     DC.L    MCB38
  13227.     DC.L    MCB39
  13228.     DC.L    MCB3A
  13229.     DC.L    MCB3B
  13230.     DC.L    MCB3C
  13231.     DC.L    MCB3D
  13232.     DC.L    MCB3E
  13233.     DC.L    MCB3F
  13234.     DC.L    MCB40
  13235.     DC.L    MCB41
  13236.     DC.L    MCB42
  13237.     DC.L    MCB43
  13238.     DC.L    MCB44
  13239.     DC.L    MCB45
  13240.     DC.L    MCB46
  13241.     DC.L    MCB47
  13242.     DC.L    MCB48
  13243.     DC.L    MCB49
  13244.     DC.L    MCB4A
  13245.     DC.L    MCB4B
  13246.     DC.L    MCB4C
  13247.     DC.L    MCB4D
  13248.     DC.L    MCB4E
  13249.     DC.L    MCB4F
  13250.     DC.L    MCB50
  13251.     DC.L    MCB51
  13252.     DC.L    MCB52
  13253.     DC.L    MCB53
  13254.     DC.L    MCB54
  13255.     DC.L    MCB55
  13256.     DC.L    MCB56
  13257.     DC.L    MCB57
  13258.     DC.L    MCB58
  13259.     DC.L    MCB59
  13260.     DC.L    MCB5A
  13261.     DC.L    MCB5B
  13262.     DC.L    MCB5C
  13263.     DC.L    MCB5D
  13264.     DC.L    MCB5E
  13265.     DC.L    MCB5F
  13266.     DC.L    MCB60
  13267.     DC.L    MCB61
  13268.     DC.L    MCB62
  13269.     DC.L    MCB63
  13270.     DC.L    MCB64
  13271.     DC.L    MCB65
  13272.     DC.L    MCB66
  13273.     DC.L    MCB67
  13274.     DC.L    MCB68
  13275.     DC.L    MCB69
  13276.     DC.L    MCB6A
  13277.     DC.L    MCB6B
  13278.     DC.L    MCB6C
  13279.     DC.L    MCB6D
  13280.     DC.L    MCB6E
  13281.     DC.L    MCB6F
  13282.     DC.L    MCB70
  13283.     DC.L    MCB71
  13284.     DC.L    MCB72
  13285.     DC.L    MCB73
  13286.     DC.L    MCB74
  13287.     DC.L    MCB75
  13288.     DC.L    MCB76
  13289.     DC.L    MCB77
  13290.     DC.L    MCB78
  13291.     DC.L    MCB79
  13292.     DC.L    MCB7A
  13293.     DC.L    MCB7B
  13294.     DC.L    MCB7C
  13295.     DC.L    MCB7D
  13296.     DC.L    MCB7E
  13297.     DC.L    MCB7F
  13298.     DC.L    MCB80
  13299.     DC.L    MCB81
  13300.     DC.L    MCB82
  13301.     DC.L    MCB83
  13302.     DC.L    MCB84
  13303.     DC.L    MCB85
  13304.     DC.L    MCB86
  13305.     DC.L    MCB87
  13306.     DC.L    MCB88
  13307.     DC.L    MCB89
  13308.     DC.L    MCB8A
  13309.     DC.L    MCB8B
  13310.     DC.L    MCB8C
  13311.     DC.L    MCB8D
  13312.     DC.L    MCB8E
  13313.     DC.L    MCB8F
  13314.     DC.L    MCB90
  13315.     DC.L    MCB91
  13316.     DC.L    MCB92
  13317.     DC.L    MCB93
  13318.     DC.L    MCB94
  13319.     DC.L    MCB95
  13320.     DC.L    MCB96
  13321.     DC.L    MCB97
  13322.     DC.L    MCB98
  13323.     DC.L    MCB99
  13324.     DC.L    MCB9A
  13325.     DC.L    MCB9B
  13326.     DC.L    MCB9C
  13327.     DC.L    MCB9D
  13328.     DC.L    MCB9E
  13329.     DC.L    MCB9F
  13330.     DC.L    MCBA0
  13331.     DC.L    MCBA1
  13332.     DC.L    MCBA2
  13333.     DC.L    MCBA3
  13334.     DC.L    MCBA4
  13335.     DC.L    MCBA5
  13336.     DC.L    MCBA6
  13337.     DC.L    MCBA7
  13338.     DC.L    MCBA8
  13339.     DC.L    MCBA9
  13340.     DC.L    MCBAA
  13341.     DC.L    MCBAB
  13342.     DC.L    MCBAC
  13343.     DC.L    MCBAD
  13344.     DC.L    MCBAE
  13345.     DC.L    MCBAF
  13346.     DC.L    MCBB0
  13347.     DC.L    MCBB1
  13348.     DC.L    MCBB2
  13349.     DC.L    MCBB3
  13350.     DC.L    MCBB4
  13351.     DC.L    MCBB5
  13352.     DC.L    MCBB6
  13353.     DC.L    MCBB7
  13354.     DC.L    MCBB8
  13355.     DC.L    MCBB9
  13356.     DC.L    MCBBA
  13357.     DC.L    MCBBB
  13358.     DC.L    MCBBC
  13359.     DC.L    MCBBD
  13360.     DC.L    MCBBE
  13361.     DC.L    MCBBF
  13362.     DC.L    MCBC0
  13363.     DC.L    MCBC1
  13364.     DC.L    MCBC2
  13365.     DC.L    MCBC3
  13366.     DC.L    MCBC4
  13367.     DC.L    MCBC5
  13368.     DC.L    MCBC6
  13369.     DC.L    MCBC7
  13370.     DC.L    MCBC8
  13371.     DC.L    MCBC9
  13372.     DC.L    MCBCA
  13373.     DC.L    MCBCB
  13374.     DC.L    MCBCC
  13375.     DC.L    MCBCD
  13376.     DC.L    MCBCE
  13377.     DC.L    MCBCF
  13378.     DC.L    MCBD0
  13379.     DC.L    MCBD1
  13380.     DC.L    MCBD2
  13381.     DC.L    MCBD3
  13382.     DC.L    MCBD4
  13383.     DC.L    MCBD5
  13384.     DC.L    MCBD6
  13385.     DC.L    MCBD7
  13386.     DC.L    MCBD8
  13387.     DC.L    MCBD9
  13388.     DC.L    MCBDA
  13389.     DC.L    MCBDB
  13390.     DC.L    MCBDC
  13391.     DC.L    MCBDD
  13392.     DC.L    MCBDE
  13393.     DC.L    MCBDF
  13394.     DC.L    MCBE0
  13395.     DC.L    MCBE1
  13396.     DC.L    MCBE2
  13397.     DC.L    MCBE3
  13398.     DC.L    MCBE4
  13399.     DC.L    MCBE5
  13400.     DC.L    MCBE6
  13401.     DC.L    MCBE7
  13402.     DC.L    MCBE8
  13403.     DC.L    MCBE9
  13404.     DC.L    MCBEA
  13405.     DC.L    MCBEB
  13406.     DC.L    MCBEC
  13407.     DC.L    MCBED
  13408.     DC.L    MCBEE
  13409.     DC.L    MCBEF
  13410.     DC.L    MCBF0
  13411.     DC.L    MCBF1
  13412.     DC.L    MCBF2
  13413.     DC.L    MCBF3
  13414.     DC.L    MCBF4
  13415.     DC.L    MCBF5
  13416.     DC.L    MCBF6
  13417.     DC.L    MCBF7
  13418.     DC.L    MCBF8
  13419.     DC.L    MCBF9
  13420.     DC.L    MCBFA
  13421.     DC.L    MCBFB
  13422.     DC.L    MCBFC
  13423.     DC.L    MCBFD
  13424.     DC.L    MCBFE
  13425.     DC.L    MCBFF
  13426.  
  13427. DDTABLE:
  13428.     DC.L    ILLEGAL
  13429.     DC.L    ILLEGAL
  13430.     DC.L    ILLEGAL
  13431.     DC.L    ILLEGAL
  13432.     DC.L    ILLEGAL
  13433.     DC.L    ILLEGAL
  13434.     DC.L    ILLEGAL
  13435.     DC.L    ILLEGAL
  13436.     DC.L    ILLEGAL
  13437.     DC.L    MDD09
  13438.     DC.L    ILLEGAL
  13439.     DC.L    ILLEGAL
  13440.     DC.L    ILLEGAL
  13441.     DC.L    ILLEGAL
  13442.     DC.L    ILLEGAL
  13443.     DC.L    ILLEGAL
  13444.     DC.L    ILLEGAL
  13445.     DC.L    ILLEGAL
  13446.     DC.L    ILLEGAL
  13447.     DC.L    ILLEGAL
  13448.     DC.L    ILLEGAL
  13449.     DC.L    ILLEGAL
  13450.     DC.L    ILLEGAL
  13451.     DC.L    ILLEGAL
  13452.     DC.L    ILLEGAL
  13453.     DC.L    MDD19
  13454.     DC.L    ILLEGAL
  13455.     DC.L    ILLEGAL
  13456.     DC.L    ILLEGAL
  13457.     DC.L    ILLEGAL
  13458.     DC.L    ILLEGAL
  13459.     DC.L    ILLEGAL
  13460.     DC.L    ILLEGAL
  13461.     DC.L    MDD21
  13462.     DC.L    MDD22
  13463.     DC.L    MDD23
  13464.     DC.L    ILLEGAL
  13465.     DC.L    ILLEGAL
  13466.     DC.L    ILLEGAL
  13467.     DC.L    ILLEGAL
  13468.     DC.L    ILLEGAL
  13469.     DC.L    MDD29
  13470.     DC.L    MDD2A
  13471.     DC.L    MDD2B
  13472.     DC.L    ILLEGAL
  13473.     DC.L    ILLEGAL
  13474.     DC.L    ILLEGAL
  13475.     DC.L    ILLEGAL
  13476.     DC.L    ILLEGAL
  13477.     DC.L    ILLEGAL
  13478.     DC.L    ILLEGAL
  13479.     DC.L    ILLEGAL
  13480.     DC.L    MDD34
  13481.     DC.L    MDD35
  13482.     DC.L    MDD36
  13483.     DC.L    ILLEGAL
  13484.     DC.L    ILLEGAL
  13485.     DC.L    MDD39
  13486.     DC.L    ILLEGAL
  13487.     DC.L    ILLEGAL
  13488.     DC.L    ILLEGAL
  13489.     DC.L    ILLEGAL
  13490.     DC.L    ILLEGAL
  13491.     DC.L    ILLEGAL
  13492.     DC.L    ILLEGAL
  13493.     DC.L    ILLEGAL
  13494.     DC.L    ILLEGAL
  13495.     DC.L    ILLEGAL
  13496.     DC.L    ILLEGAL
  13497.     DC.L    ILLEGAL
  13498.     DC.L    MDD46
  13499.     DC.L    ILLEGAL
  13500.     DC.L    ILLEGAL
  13501.     DC.L    ILLEGAL
  13502.     DC.L    ILLEGAL
  13503.     DC.L    ILLEGAL
  13504.     DC.L    ILLEGAL
  13505.     DC.L    ILLEGAL
  13506.     DC.L    MDD4E
  13507.     DC.L    ILLEGAL
  13508.     DC.L    ILLEGAL
  13509.     DC.L    ILLEGAL
  13510.     DC.L    ILLEGAL
  13511.     DC.L    ILLEGAL
  13512.     DC.L    ILLEGAL
  13513.     DC.L    ILLEGAL
  13514.     DC.L    MDD56
  13515.     DC.L    ILLEGAL
  13516.     DC.L    ILLEGAL
  13517.     DC.L    ILLEGAL
  13518.     DC.L    ILLEGAL
  13519.     DC.L    ILLEGAL
  13520.     DC.L    ILLEGAL
  13521.     DC.L    ILLEGAL
  13522.     DC.L    MDD5E
  13523.     DC.L    ILLEGAL
  13524.     DC.L    ILLEGAL
  13525.     DC.L    ILLEGAL
  13526.     DC.L    ILLEGAL
  13527.     DC.L    ILLEGAL
  13528.     DC.L    ILLEGAL
  13529.     DC.L    ILLEGAL
  13530.     DC.L    MDD66
  13531.     DC.L    ILLEGAL
  13532.     DC.L    ILLEGAL
  13533.     DC.L    ILLEGAL
  13534.     DC.L    ILLEGAL
  13535.     DC.L    ILLEGAL
  13536.     DC.L    ILLEGAL
  13537.     DC.L    ILLEGAL
  13538.     DC.L    MDD6E
  13539.     DC.L    ILLEGAL
  13540.     DC.L    MDD70
  13541.     DC.L    MDD71
  13542.     DC.L    MDD72
  13543.     DC.L    MDD73
  13544.     DC.L    MDD74
  13545.     DC.L    MDD75
  13546.     DC.L    ILLEGAL
  13547.     DC.L    MDD77
  13548.     DC.L    ILLEGAL
  13549.     DC.L    ILLEGAL
  13550.     DC.L    ILLEGAL
  13551.     DC.L    ILLEGAL
  13552.     DC.L    ILLEGAL
  13553.     DC.L    ILLEGAL
  13554.     DC.L    MDD7E
  13555.     DC.L    ILLEGAL
  13556.     DC.L    ILLEGAL
  13557.     DC.L    ILLEGAL
  13558.     DC.L    ILLEGAL
  13559.     DC.L    ILLEGAL
  13560.     DC.L    ILLEGAL
  13561.     DC.L    ILLEGAL
  13562.     DC.L    MDD86
  13563.     DC.L    ILLEGAL
  13564.     DC.L    ILLEGAL
  13565.     DC.L    ILLEGAL
  13566.     DC.L    ILLEGAL
  13567.     DC.L    ILLEGAL
  13568.     DC.L    ILLEGAL
  13569.     DC.L    ILLEGAL
  13570.     DC.L    MDD8E
  13571.     DC.L    ILLEGAL
  13572.     DC.L    ILLEGAL
  13573.     DC.L    ILLEGAL
  13574.     DC.L    ILLEGAL
  13575.     DC.L    ILLEGAL
  13576.     DC.L    ILLEGAL
  13577.     DC.L    ILLEGAL
  13578.     DC.L    MDD96
  13579.     DC.L    ILLEGAL
  13580.     DC.L    ILLEGAL
  13581.     DC.L    ILLEGAL
  13582.     DC.L    ILLEGAL
  13583.     DC.L    ILLEGAL
  13584.     DC.L    ILLEGAL
  13585.     DC.L    ILLEGAL
  13586.     DC.L    MDD9E
  13587.     DC.L    ILLEGAL
  13588.     DC.L    ILLEGAL
  13589.     DC.L    ILLEGAL
  13590.     DC.L    ILLEGAL
  13591.     DC.L    ILLEGAL
  13592.     DC.L    ILLEGAL
  13593.     DC.L    ILLEGAL
  13594.     DC.L    MDDA6
  13595.     DC.L    ILLEGAL
  13596.     DC.L    ILLEGAL
  13597.     DC.L    ILLEGAL
  13598.     DC.L    ILLEGAL
  13599.     DC.L    ILLEGAL
  13600.     DC.L    ILLEGAL
  13601.     DC.L    ILLEGAL
  13602.     DC.L    MDDAE
  13603.     DC.L    ILLEGAL
  13604.     DC.L    ILLEGAL
  13605.     DC.L    ILLEGAL
  13606.     DC.L    ILLEGAL
  13607.     DC.L    ILLEGAL
  13608.     DC.L    ILLEGAL
  13609.     DC.L    ILLEGAL
  13610.     DC.L    MDDB6
  13611.     DC.L    ILLEGAL
  13612.     DC.L    ILLEGAL
  13613.     DC.L    ILLEGAL
  13614.     DC.L    ILLEGAL
  13615.     DC.L    ILLEGAL
  13616.     DC.L    ILLEGAL
  13617.     DC.L    ILLEGAL
  13618.     DC.L    MDDBE
  13619.     DC.L    ILLEGAL
  13620.     DC.L    ILLEGAL
  13621.     DC.L    ILLEGAL
  13622.     DC.L    ILLEGAL
  13623.     DC.L    ILLEGAL
  13624.     DC.L    ILLEGAL
  13625.     DC.L    ILLEGAL
  13626.     DC.L    ILLEGAL
  13627.     DC.L    ILLEGAL
  13628.     DC.L    ILLEGAL
  13629.     DC.L    ILLEGAL
  13630.     DC.L    ILLEGAL
  13631.     DC.L    MDDCB
  13632.     DC.L    ILLEGAL
  13633.     DC.L    ILLEGAL
  13634.     DC.L    ILLEGAL
  13635.     DC.L    ILLEGAL
  13636.     DC.L    ILLEGAL
  13637.     DC.L    ILLEGAL
  13638.     DC.L    ILLEGAL
  13639.     DC.L    ILLEGAL
  13640.     DC.L    ILLEGAL
  13641.     DC.L    ILLEGAL
  13642.     DC.L    ILLEGAL
  13643.     DC.L    ILLEGAL
  13644.     DC.L    ILLEGAL
  13645.     DC.L    ILLEGAL
  13646.     DC.L    ILLEGAL
  13647.     DC.L    ILLEGAL
  13648.     DC.L    ILLEGAL
  13649.     DC.L    ILLEGAL
  13650.     DC.L    ILLEGAL
  13651.     DC.L    ILLEGAL
  13652.     DC.L    ILLEGAL
  13653.     DC.L    MDDE1
  13654.     DC.L    ILLEGAL
  13655.     DC.L    MDDE3
  13656.     DC.L    ILLEGAL
  13657.     DC.L    MDDE5
  13658.     DC.L    ILLEGAL
  13659.     DC.L    ILLEGAL
  13660.     DC.L    ILLEGAL
  13661.     DC.L    MDDE9
  13662.     DC.L    ILLEGAL
  13663.     DC.L    ILLEGAL
  13664.     DC.L    ILLEGAL
  13665.     DC.L    ILLEGAL
  13666.     DC.L    ILLEGAL
  13667.     DC.L    ILLEGAL
  13668.     DC.L    ILLEGAL
  13669.     DC.L    ILLEGAL
  13670.     DC.L    ILLEGAL
  13671.     DC.L    ILLEGAL
  13672.     DC.L    ILLEGAL
  13673.     DC.L    ILLEGAL
  13674.     DC.L    ILLEGAL
  13675.     DC.L    ILLEGAL
  13676.     DC.L    ILLEGAL
  13677.     DC.L    MDDF9
  13678.     DC.L    ILLEGAL
  13679.     DC.L    ILLEGAL
  13680.     DC.L    ILLEGAL
  13681.     DC.L    ILLEGAL
  13682.     DC.L    ILLEGAL
  13683.     DC.L    ILLEGAL
  13684.  
  13685. EDTABLE:
  13686.     DC.L    ILLEGAL    ;POINT THESE AT CASS INSTRUCTIONS
  13687.     DC.L    MED01
  13688.     DC.L    MED02
  13689.     DC.L    MED03
  13690.     DC.L    ILLEGAL
  13691.     DC.L    ILLEGAL
  13692.     DC.L    ILLEGAL
  13693.     DC.L    ILLEGAL
  13694.     DC.L    ILLEGAL
  13695.     DC.L    ILLEGAL
  13696.     DC.L    ILLEGAL
  13697.     DC.L    ILLEGAL
  13698.     DC.L    ILLEGAL
  13699.     DC.L    ILLEGAL
  13700.     DC.L    ILLEGAL
  13701.     DC.L    ILLEGAL
  13702.     DC.L    ILLEGAL
  13703.     DC.L    ILLEGAL
  13704.     DC.L    ILLEGAL
  13705.     DC.L    ILLEGAL
  13706.     DC.L    ILLEGAL
  13707.     DC.L    ILLEGAL
  13708.     DC.L    ILLEGAL
  13709.     DC.L    ILLEGAL
  13710.     DC.L    ILLEGAL
  13711.     DC.L    ILLEGAL
  13712.     DC.L    ILLEGAL
  13713.     DC.L    ILLEGAL
  13714.     DC.L    ILLEGAL
  13715.     DC.L    ILLEGAL
  13716.     DC.L    ILLEGAL
  13717.     DC.L    ILLEGAL
  13718.     DC.L    ILLEGAL
  13719.     DC.L    ILLEGAL
  13720.     DC.L    ILLEGAL
  13721.     DC.L    ILLEGAL
  13722.     DC.L    ILLEGAL
  13723.     DC.L    ILLEGAL
  13724.     DC.L    ILLEGAL
  13725.     DC.L    ILLEGAL
  13726.     DC.L    ILLEGAL
  13727.     DC.L    ILLEGAL
  13728.     DC.L    ILLEGAL
  13729.     DC.L    ILLEGAL
  13730.     DC.L    ILLEGAL
  13731.     DC.L    ILLEGAL
  13732.     DC.L    ILLEGAL
  13733.     DC.L    ILLEGAL
  13734.     DC.L    ILLEGAL
  13735.     DC.L    ILLEGAL
  13736.     DC.L    ILLEGAL
  13737.     DC.L    ILLEGAL
  13738.     DC.L    ILLEGAL
  13739.     DC.L    ILLEGAL
  13740.     DC.L    ILLEGAL
  13741.     DC.L    ILLEGAL
  13742.     DC.L    ILLEGAL
  13743.     DC.L    ILLEGAL
  13744.     DC.L    ILLEGAL
  13745.     DC.L    ILLEGAL
  13746.     DC.L    ILLEGAL
  13747.     DC.L    ILLEGAL
  13748.     DC.L    ILLEGAL
  13749.     DC.L    ILLEGAL
  13750.     DC.L    MED40
  13751.     DC.L    MED41
  13752.     DC.L    MED42
  13753.     DC.L    MED43
  13754.     DC.L    MED44
  13755.     DC.L    MED45
  13756.     DC.L    MED46
  13757.     DC.L    MED47
  13758.     DC.L    MED48
  13759.     DC.L    MED49
  13760.     DC.L    MED4A
  13761.     DC.L    MED4B
  13762.     DC.L    ILLEGAL
  13763.     DC.L    MED4D
  13764.     DC.L    ILLEGAL
  13765.     DC.L    MED4F
  13766.     DC.L    MED50
  13767.     DC.L    MED51
  13768.     DC.L    MED52
  13769.     DC.L    MED53
  13770.     DC.L    ILLEGAL
  13771.     DC.L    ILLEGAL
  13772.     DC.L    MED56
  13773.     DC.L    MED57
  13774.     DC.L    MED58
  13775.     DC.L    MED59
  13776.     DC.L    MED5A
  13777.     DC.L    MED5B
  13778.     DC.L    ILLEGAL
  13779.     DC.L    ILLEGAL
  13780.     DC.L    MED5E
  13781.     DC.L    MED5F
  13782.     DC.L    MED60
  13783.     DC.L    MED61
  13784.     DC.L    MED62
  13785.     DC.L    ILLEGAL
  13786.     DC.L    ILLEGAL
  13787.     DC.L    ILLEGAL
  13788.     DC.L    ILLEGAL
  13789.     DC.L    MED67
  13790.     DC.L    MED68
  13791.     DC.L    MED69
  13792.     DC.L    MED6A
  13793.     DC.L    ILLEGAL
  13794.     DC.L    ILLEGAL
  13795.     DC.L    ILLEGAL
  13796.     DC.L    ILLEGAL
  13797.     DC.L    MED6F
  13798.     DC.L    ILLEGAL
  13799.     DC.L    ILLEGAL
  13800.     DC.L    MED72
  13801.     DC.L    MED73
  13802.     DC.L    ILLEGAL
  13803.     DC.L    ILLEGAL
  13804.     DC.L    ILLEGAL
  13805.     DC.L    ILLEGAL
  13806.     DC.L    MED78
  13807.     DC.L    MED79
  13808.     DC.L    MED7A
  13809.     DC.L    MED7B
  13810.     DC.L    ILLEGAL
  13811.     DC.L    ILLEGAL
  13812.     DC.L    ILLEGAL
  13813.     DC.L    ILLEGAL
  13814.     DC.L    ILLEGAL
  13815.     DC.L    ILLEGAL
  13816.     DC.L    ILLEGAL
  13817.     DC.L    ILLEGAL
  13818.     DC.L    ILLEGAL
  13819.     DC.L    ILLEGAL
  13820.     DC.L    ILLEGAL
  13821.     DC.L    ILLEGAL
  13822.     DC.L    ILLEGAL
  13823.     DC.L    ILLEGAL
  13824.     DC.L    ILLEGAL
  13825.     DC.L    ILLEGAL
  13826.     DC.L    ILLEGAL
  13827.     DC.L    ILLEGAL
  13828.     DC.L    ILLEGAL
  13829.     DC.L    ILLEGAL
  13830.     DC.L    ILLEGAL
  13831.     DC.L    ILLEGAL
  13832.     DC.L    ILLEGAL
  13833.     DC.L    ILLEGAL
  13834.     DC.L    ILLEGAL
  13835.     DC.L    ILLEGAL
  13836.     DC.L    ILLEGAL
  13837.     DC.L    ILLEGAL
  13838.     DC.L    ILLEGAL
  13839.     DC.L    ILLEGAL
  13840.     DC.L    ILLEGAL
  13841.     DC.L    ILLEGAL
  13842.     DC.L    ILLEGAL
  13843.     DC.L    ILLEGAL
  13844.     DC.L    ILLEGAL
  13845.     DC.L    ILLEGAL
  13846.     DC.L    MEDA0
  13847.     DC.L    MEDA1
  13848.     DC.L    MEDA2
  13849.     DC.L    MEDA3
  13850.     DC.L    ILLEGAL
  13851.     DC.L    ILLEGAL
  13852.     DC.L    ILLEGAL
  13853.     DC.L    ILLEGAL
  13854.     DC.L    MEDA8
  13855.     DC.L    MEDA9
  13856.     DC.L    MEDAA
  13857.     DC.L    MEDAB
  13858.     DC.L    ILLEGAL
  13859.     DC.L    ILLEGAL
  13860.     DC.L    ILLEGAL
  13861.     DC.L    ILLEGAL
  13862.     DC.L    MEDB0
  13863.     DC.L    MEDB1
  13864.     DC.L    MEDB2
  13865.     DC.L    MEDB3
  13866.     DC.L    ILLEGAL
  13867.     DC.L    ILLEGAL
  13868.     DC.L    ILLEGAL
  13869.     DC.L    ILLEGAL
  13870.     DC.L    MEDB8
  13871.     DC.L    MEDB9
  13872.     DC.L    MEDBA
  13873.     DC.L    MEDBB
  13874.     DC.L    ILLEGAL
  13875.     DC.L    ILLEGAL
  13876.     DC.L    ILLEGAL
  13877.     DC.L    ILLEGAL
  13878.     DC.L    ILLEGAL
  13879.     DC.L    ILLEGAL
  13880.     DC.L    ILLEGAL
  13881.     DC.L    ILLEGAL
  13882.     DC.L    ILLEGAL
  13883.     DC.L    ILLEGAL
  13884.     DC.L    ILLEGAL
  13885.     DC.L    ILLEGAL
  13886.     DC.L    ILLEGAL
  13887.     DC.L    ILLEGAL
  13888.     DC.L    ILLEGAL
  13889.     DC.L    ILLEGAL
  13890.     DC.L    ILLEGAL
  13891.     DC.L    ILLEGAL
  13892.     DC.L    ILLEGAL
  13893.     DC.L    ILLEGAL
  13894.     DC.L    ILLEGAL
  13895.     DC.L    ILLEGAL
  13896.     DC.L    ILLEGAL
  13897.     DC.L    ILLEGAL
  13898.     DC.L    ILLEGAL
  13899.     DC.L    ILLEGAL
  13900.     DC.L    ILLEGAL
  13901.     DC.L    ILLEGAL
  13902.     DC.L    ILLEGAL
  13903.     DC.L    ILLEGAL
  13904.     DC.L    ILLEGAL
  13905.     DC.L    ILLEGAL
  13906.     DC.L    ILLEGAL
  13907.     DC.L    ILLEGAL
  13908.     DC.L    ILLEGAL
  13909.     DC.L    ILLEGAL
  13910.     DC.L    ILLEGAL
  13911.     DC.L    ILLEGAL
  13912.     DC.L    ILLEGAL
  13913.     DC.L    ILLEGAL
  13914.     DC.L    ILLEGAL
  13915.     DC.L    ILLEGAL
  13916.     DC.L    ILLEGAL
  13917.     DC.L    ILLEGAL
  13918.     DC.L    ILLEGAL
  13919.     DC.L    ILLEGAL
  13920.     DC.L    ILLEGAL
  13921.     DC.L    ILLEGAL
  13922.     DC.L    ILLEGAL
  13923.     DC.L    ILLEGAL
  13924.     DC.L    ILLEGAL
  13925.     DC.L    ILLEGAL
  13926.     DC.L    ILLEGAL
  13927.     DC.L    ILLEGAL
  13928.     DC.L    ILLEGAL
  13929.     DC.L    ILLEGAL
  13930.     DC.L    ILLEGAL
  13931.     DC.L    ILLEGAL
  13932.     DC.L    ILLEGAL
  13933.     DC.L    ILLEGAL
  13934.     DC.L    ILLEGAL
  13935.     DC.L    ILLEGAL
  13936.     DC.L    ILLEGAL
  13937.     DC.L    ILLEGAL
  13938.     DC.L    ILLEGAL
  13939.     DC.L    ILLEGAL
  13940.     DC.L    ILLEGAL
  13941.     DC.L    ILLEGAL
  13942.  
  13943. FDTABLE:
  13944.     DC.L    ILLEGAL
  13945.     DC.L    ILLEGAL
  13946.     DC.L    ILLEGAL
  13947.     DC.L    ILLEGAL
  13948.     DC.L    ILLEGAL
  13949.     DC.L    ILLEGAL
  13950.     DC.L    ILLEGAL
  13951.     DC.L    ILLEGAL
  13952.     DC.L    ILLEGAL
  13953.     DC.L    MFD09
  13954.     DC.L    ILLEGAL
  13955.     DC.L    ILLEGAL
  13956.     DC.L    ILLEGAL
  13957.     DC.L    ILLEGAL
  13958.     DC.L    ILLEGAL
  13959.     DC.L    ILLEGAL
  13960.     DC.L    ILLEGAL
  13961.     DC.L    ILLEGAL
  13962.     DC.L    ILLEGAL
  13963.     DC.L    ILLEGAL
  13964.     DC.L    ILLEGAL
  13965.     DC.L    ILLEGAL
  13966.     DC.L    ILLEGAL
  13967.     DC.L    ILLEGAL
  13968.     DC.L    ILLEGAL
  13969.     DC.L    MFD19
  13970.     DC.L    ILLEGAL
  13971.     DC.L    ILLEGAL
  13972.     DC.L    ILLEGAL
  13973.     DC.L    ILLEGAL
  13974.     DC.L    ILLEGAL
  13975.     DC.L    ILLEGAL
  13976.     DC.L    ILLEGAL
  13977.     DC.L    MFD21
  13978.     DC.L    MFD22
  13979.     DC.L    MFD23
  13980.     DC.L    ILLEGAL
  13981.     DC.L    ILLEGAL
  13982.     DC.L    ILLEGAL
  13983.     DC.L    ILLEGAL
  13984.     DC.L    ILLEGAL
  13985.     DC.L    MFD29
  13986.     DC.L    MFD2A
  13987.     DC.L    MFD2B
  13988.     DC.L    ILLEGAL
  13989.     DC.L    ILLEGAL
  13990.     DC.L    ILLEGAL
  13991.     DC.L    ILLEGAL
  13992.     DC.L    ILLEGAL
  13993.     DC.L    ILLEGAL
  13994.     DC.L    ILLEGAL
  13995.     DC.L    ILLEGAL
  13996.     DC.L    MFD34
  13997.     DC.L    MFD35
  13998.     DC.L    MFD36
  13999.     DC.L    ILLEGAL
  14000.     DC.L    ILLEGAL
  14001.     DC.L    MFD39
  14002.     DC.L    ILLEGAL
  14003.     DC.L    ILLEGAL
  14004.     DC.L    ILLEGAL
  14005.     DC.L    ILLEGAL
  14006.     DC.L    ILLEGAL
  14007.     DC.L    ILLEGAL
  14008.     DC.L    ILLEGAL
  14009.     DC.L    ILLEGAL
  14010.     DC.L    ILLEGAL
  14011.     DC.L    ILLEGAL
  14012.     DC.L    ILLEGAL
  14013.     DC.L    ILLEGAL
  14014.     DC.L    MFD46
  14015.     DC.L    ILLEGAL
  14016.     DC.L    ILLEGAL
  14017.     DC.L    ILLEGAL
  14018.     DC.L    ILLEGAL
  14019.     DC.L    ILLEGAL
  14020.     DC.L    ILLEGAL
  14021.     DC.L    ILLEGAL
  14022.     DC.L    MFD4E
  14023.     DC.L    ILLEGAL
  14024.     DC.L    ILLEGAL
  14025.     DC.L    ILLEGAL
  14026.     DC.L    ILLEGAL
  14027.     DC.L    ILLEGAL
  14028.     DC.L    ILLEGAL
  14029.     DC.L    ILLEGAL
  14030.     DC.L    MFD56
  14031.     DC.L    ILLEGAL
  14032.     DC.L    ILLEGAL
  14033.     DC.L    ILLEGAL
  14034.     DC.L    ILLEGAL
  14035.     DC.L    ILLEGAL
  14036.     DC.L    ILLEGAL
  14037.     DC.L    ILLEGAL
  14038.     DC.L    MFD5E
  14039.     DC.L    ILLEGAL
  14040.     DC.L    ILLEGAL
  14041.     DC.L    ILLEGAL
  14042.     DC.L    ILLEGAL
  14043.     DC.L    ILLEGAL
  14044.     DC.L    ILLEGAL
  14045.     DC.L    ILLEGAL
  14046.     DC.L    MFD66
  14047.     DC.L    ILLEGAL
  14048.     DC.L    ILLEGAL
  14049.     DC.L    ILLEGAL
  14050.     DC.L    ILLEGAL
  14051.     DC.L    ILLEGAL
  14052.     DC.L    ILLEGAL
  14053.     DC.L    ILLEGAL
  14054.     DC.L    MFD6E
  14055.     DC.L    ILLEGAL
  14056.     DC.L    MFD70
  14057.     DC.L    MFD71
  14058.     DC.L    MFD72
  14059.     DC.L    MFD73
  14060.     DC.L    MFD74
  14061.     DC.L    MFD75
  14062.     DC.L    ILLEGAL
  14063.     DC.L    MFD77
  14064.     DC.L    ILLEGAL
  14065.     DC.L    ILLEGAL
  14066.     DC.L    ILLEGAL
  14067.     DC.L    ILLEGAL
  14068.     DC.L    ILLEGAL
  14069.     DC.L    ILLEGAL
  14070.     DC.L    MFD7E
  14071.     DC.L    ILLEGAL
  14072.     DC.L    ILLEGAL
  14073.     DC.L    ILLEGAL
  14074.     DC.L    ILLEGAL
  14075.     DC.L    ILLEGAL
  14076.     DC.L    ILLEGAL
  14077.     DC.L    ILLEGAL
  14078.     DC.L    MFD86
  14079.     DC.L    ILLEGAL
  14080.     DC.L    ILLEGAL
  14081.     DC.L    ILLEGAL
  14082.     DC.L    ILLEGAL
  14083.     DC.L    ILLEGAL
  14084.     DC.L    ILLEGAL
  14085.     DC.L    ILLEGAL
  14086.     DC.L    MFD8E
  14087.     DC.L    ILLEGAL
  14088.     DC.L    ILLEGAL
  14089.     DC.L    ILLEGAL
  14090.     DC.L    ILLEGAL
  14091.     DC.L    ILLEGAL
  14092.     DC.L    ILLEGAL
  14093.     DC.L    ILLEGAL
  14094.     DC.L    MFD96
  14095.     DC.L    ILLEGAL
  14096.     DC.L    ILLEGAL
  14097.     DC.L    ILLEGAL
  14098.     DC.L    ILLEGAL
  14099.     DC.L    ILLEGAL
  14100.     DC.L    ILLEGAL
  14101.     DC.L    ILLEGAL
  14102.     DC.L    MFD9E
  14103.     DC.L    ILLEGAL
  14104.     DC.L    ILLEGAL
  14105.     DC.L    ILLEGAL
  14106.     DC.L    ILLEGAL
  14107.     DC.L    ILLEGAL
  14108.     DC.L    ILLEGAL
  14109.     DC.L    ILLEGAL
  14110.     DC.L    MFDA6
  14111.     DC.L    ILLEGAL
  14112.     DC.L    ILLEGAL
  14113.     DC.L    ILLEGAL
  14114.     DC.L    ILLEGAL
  14115.     DC.L    ILLEGAL
  14116.     DC.L    ILLEGAL
  14117.     DC.L    ILLEGAL
  14118.     DC.L    MFDAE
  14119.     DC.L    ILLEGAL
  14120.     DC.L    ILLEGAL
  14121.     DC.L    ILLEGAL
  14122.     DC.L    ILLEGAL
  14123.     DC.L    ILLEGAL
  14124.     DC.L    ILLEGAL
  14125.     DC.L    ILLEGAL
  14126.     DC.L    MFDB6
  14127.     DC.L    ILLEGAL
  14128.     DC.L    ILLEGAL
  14129.     DC.L    ILLEGAL
  14130.     DC.L    ILLEGAL
  14131.     DC.L    ILLEGAL
  14132.     DC.L    ILLEGAL
  14133.     DC.L    ILLEGAL
  14134.     DC.L    MFDBE
  14135.     DC.L    ILLEGAL
  14136.     DC.L    ILLEGAL
  14137.     DC.L    ILLEGAL
  14138.     DC.L    ILLEGAL
  14139.     DC.L    ILLEGAL
  14140.     DC.L    ILLEGAL
  14141.     DC.L    ILLEGAL
  14142.     DC.L    ILLEGAL
  14143.     DC.L    ILLEGAL
  14144.     DC.L    ILLEGAL
  14145.     DC.L    ILLEGAL
  14146.     DC.L    ILLEGAL
  14147.     DC.L    MFDCB
  14148.     DC.L    ILLEGAL
  14149.     DC.L    ILLEGAL
  14150.     DC.L    ILLEGAL
  14151.     DC.L    ILLEGAL
  14152.     DC.L    ILLEGAL
  14153.     DC.L    ILLEGAL
  14154.     DC.L    ILLEGAL
  14155.     DC.L    ILLEGAL
  14156.     DC.L    ILLEGAL
  14157.     DC.L    ILLEGAL
  14158.     DC.L    ILLEGAL
  14159.     DC.L    ILLEGAL
  14160.     DC.L    ILLEGAL
  14161.     DC.L    ILLEGAL
  14162.     DC.L    ILLEGAL
  14163.     DC.L    ILLEGAL
  14164.     DC.L    ILLEGAL
  14165.     DC.L    ILLEGAL
  14166.     DC.L    ILLEGAL
  14167.     DC.L    ILLEGAL
  14168.     DC.L    ILLEGAL
  14169.     DC.L    MFDE1
  14170.     DC.L    ILLEGAL
  14171.     DC.L    MFDE3
  14172.     DC.L    ILLEGAL
  14173.     DC.L    MFDE5
  14174.     DC.L    ILLEGAL
  14175.     DC.L    ILLEGAL
  14176.     DC.L    ILLEGAL
  14177.     DC.L    MFDE9
  14178.     DC.L    ILLEGAL
  14179.     DC.L    ILLEGAL
  14180.     DC.L    ILLEGAL
  14181.     DC.L    ILLEGAL
  14182.     DC.L    ILLEGAL
  14183.     DC.L    ILLEGAL
  14184.     DC.L    ILLEGAL
  14185.     DC.L    ILLEGAL
  14186.     DC.L    ILLEGAL
  14187.     DC.L    ILLEGAL
  14188.     DC.L    ILLEGAL
  14189.     DC.L    ILLEGAL
  14190.     DC.L    ILLEGAL
  14191.     DC.L    ILLEGAL
  14192.     DC.L    ILLEGAL
  14193.     DC.L    MFDF9
  14194.     DC.L    ILLEGAL
  14195.     DC.L    ILLEGAL
  14196.     DC.L    ILLEGAL
  14197.     DC.L    ILLEGAL
  14198.     DC.L    ILLEGAL
  14199.     DC.L    ILLEGAL
  14200.  
  14201. _JUMPTBL:    DS.L    1
  14202.  
  14203. * for parity flag, 1 = even parity, 0 = odd parity. */
  14204. * static char parity_table[256] =
  14205.  
  14206. PARITY:    DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14207.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14208.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14209.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14210.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14211.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14212.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14213.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14214.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14215.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14216.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14217.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14218.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14219.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14220.     DC.B    0, 2, 2, 0, 2, 0, 0, 2, 2, 0, 0, 2, 0, 2, 2, 0
  14221.     DC.B    2, 0, 0, 2, 0, 2, 2, 0, 0, 2, 2, 0, 2, 0, 0, 2
  14222.  
  14223. * Z-80 (0-FF) -> 680X0 FLAGS (0-1F) (PARITY+$100)
  14224.  
  14225. FALSF:    DC.B    0,$11,  0,$11,  2,$13,  2,$13,  0,$11,  0,$11,  2,$13,  2,$13  
  14226.     DC.B    0,$11,  0,$11,  2,$13,  2,$13,  0,$11,  0,$11,  2,$13,  2,$13  
  14227.     DC.B    0,$11,  0,$11,  2,$13,  2,$13,  0,$11,  0,$11,  2,$13,  2,$13  
  14228.     DC.B    0,$11,  0,$11,  2,$13,  2,$13,  0,$11,  0,$11,  2,$13,  2,$13  
  14229.     DC.B    4,$15,  4,$15,  6,$17,  6,$17,  4,$15,  4,$15,  6,$17,  6,$17  
  14230.     DC.B    4,$15,  4,$15,  6,$17,  6,$17,  4,$15,  4,$15,  6,$17,  6,$17  
  14231.     DC.B    4,$15,  4,$15,  6,$17,  6,$17,  4,$15,  4,$15,  6,$17,  6,$17  
  14232.     DC.B    4,$15,  4,$15,  6,$17,  6,$17,  4,$15,  4,$15,  6,$17,  6,$17  
  14233.     DC.B    8,$19,  8,$19, $A,$1B, $A,$1B,  8,$19,  8,$19, $A,$1B, $A,$1B  
  14234.     DC.B    8,$19,  8,$19, $A,$1B, $A,$1B,  8,$19,  8,$19, $A,$1B, $A,$1B  
  14235.     DC.B    8,$19,  8,$19, $A,$1B, $A,$1B,  8,$19,  8,$19, $A,$1B, $A,$1B  
  14236.     DC.B    8,$19,  8,$19, $A,$1B, $A,$1B,  8,$19,  8,$19, $A,$1B, $A,$1B  
  14237.     DC.B   $C,$1D, $C,$1D, $E,$1F, $E,$1F, $C,$1D, $C,$1D, $E,$1F, $E,$1F  
  14238.     DC.B   $C,$1D, $C,$1D, $E,$1F, $E,$1F, $C,$1D, $C,$1D, $E,$1F, $E,$1F  
  14239.     DC.B   $C,$1D, $C,$1D, $E,$1F, $E,$1F, $C,$1D, $C,$1D, $E,$1F, $E,$1F  
  14240.     DC.B   $C,$1D, $C,$1D, $E,$1F, $E,$1F, $C,$1D, $C,$1D, $E,$1F, $E,$1F  
  14241.  
  14242.  
  14243. * 680X0 FLAGS (0-$1F)-> Z-80 FLAG VALUES (PARITY+$200)
  14244.  
  14245. REALF:    DC.B    0,  1,  4,  5,$40,$41,$44,$45,$80,$81,$84,$85,$C0,$C1,$C4,$C5
  14246.     DC.B    0,  1,  4,  5,$40,$41,$44,$45,$80,$81,$84,$85,$C0,$C1,$C4,$C5
  14247.  
  14248. * ADD HALF CARRY FLAG BITS (INCLUDES ADD/SUB FLAG)(PARITY+$220)
  14249.  
  14250. ADDHALF:DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14251.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14252.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14253.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14254.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14255.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14256.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14257.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14258.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14259.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14260.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14261.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14262.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14263.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14264.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14265.     DC.B    $10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
  14266.  
  14267. *SUB HALF CARRY FLAG BITS (INCLUDES ADD/SUB)(PARITY+$320)
  14268.  
  14269. SUBHALF:DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14270.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14271.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14272.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14273.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14274.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14275.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14276.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14277.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14278.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14279.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14280.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14281.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14282.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14283.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14284.     DC.B    2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, $12
  14285.  
  14286. FLAGS:    DS.W    1
  14287. XFLAGS:    DS.W    1
  14288. AFLAGS:    DS.W    1
  14289. XAFLAGS:DS.W    1
  14290. BC:    DS.W    1
  14291. ABC:    DS.W    1
  14292. DE:    DS.W    1
  14293. ADE:    DS.W    1
  14294. HL:    DS.W    1
  14295. AHL:    DS.W    1
  14296. REGA:    DS.W    1
  14297. AREGA:    DS.W    1
  14298.  
  14299.